Real-Time Intelligence 자습서 3부: KQL 데이터베이스의 데이터 변환
메모
이 자습서는 시리즈의 일부입니다. 이전 섹션은 Real-Time Intelligence 튜토리얼 2부: Real-Time 허브데이터 가져오기를 참조하세요.
자습서의 이 부분에서는 업데이트 정책을 사용하여 Real-Time Intelligence의 KQL 데이터베이스에서 데이터를 변환하는 방법을 알아봅니다. 업데이트 정책은 새 데이터가 테이블에 기록될 때 트리거되는 자동화 메커니즘입니다. 수집된 데이터를 변환하고 결과를 대상 테이블에 저장하는 쿼리를 실행하여 특수 오케스트레이션이 필요하지 않습니다. 단일 테이블에 여러 업데이트 정책을 정의하여 다양한 변환을 허용하고 동시에 여러 테이블에 데이터를 저장할 수 있습니다. 대상 테이블에는 원본 테이블의 다른 스키마, 보존 정책 및 기타 정책이 있을 수 있습니다.
원시 데이터 테이블을 브론즈 폴더로 이동
이 단계에서는 원시 데이터 테이블을 Bronze 폴더로 이동하여 KQL 데이터베이스의 데이터를 구성합니다.
이전 단계에서 만든 Tutorial이라는 KQL 데이터베이스로 이동합니다.
개체 트리의 KQL 데이터베이스 이름 아래에서 Tutorial_queryset쿼리 작업 영역을 선택합니다.
다음 명령을 복사/붙여넣어 테이블을 변경하여 테이블을 Bronze 폴더로 이동합니다.
.alter table RawData (BikepointID:string,Street:string,Neighbourhood:string,Latitude:dynamic,Longitude:dynamic,No_Bikes:long,No_Empty_Docks:long,Timestamp:datetime) with (folder="Bronze")
대상 테이블 만들기
이 단계에서는 업데이트 정책을 사용하여 변환된 데이터를 저장하는 데 사용할 대상 테이블을 만듭니다.
다음 명령을 복사/붙여넣어 지정된 스키마를 사용하여 TransformedData이라는 새 테이블을 만듭니다.
.create table TransformedData (BikepointID: int, Street: string, Neighbourhood: string, Latitude: dynamic, Longitude: dynamic, No_Bikes: long, No_Empty_Docks: long, Timestamp: datetime, BikesToBeFilled: long, Action: string) with (folder="Silver")
명령을 실행하여 테이블을 만듭니다. 이제 개체 트리의 테이블 노드 아래에 있는 TransformedData라는 다른 테이블이 표시됩니다.
변환 논리를 사용하여 함수 만들기
이 단계에서는 업데이트 정책에 사용할 변환 논리를 포함하는 저장된 함수를 만듭니다. 이 함수는 BikepointID 열을 구문 분석하고 두 개의 새 계산 열을 추가합니다.
메뉴 리본에서 데이터베이스을 선택합니다.
+새>함수선택합니다.
다음 코드와 일치되도록 함수를 편집하거나 다음 명령을 복사하여 쿼리 편집기에 붙여넣습니다.
.create-or-alter function TransformRawData() { RawData | parse BikepointID with * "BikePoints_" BikepointID:int | extend BikesToBeFilled = No_Empty_Docks - No_Bikes | extend Action = iff(BikesToBeFilled > 0, tostring(BikesToBeFilled), "NA") }
명령을 실행하여 함수를 만듭니다. 이제 개체 트리의 Functions 노드 아래에 TransformRawData 함수가 표시됩니다.
업데이트 정책 적용
이 단계에서는 대상 테이블에 업데이트 정책을 적용하여 데이터를 변환합니다. 업데이트 정책은 저장된 함수 TransformRawData() 사용하여 BikepointID 열을 구문 분석하고 두 개의 새 계산 열을 추가합니다.
메뉴 리본에서 데이터베이스을 선택합니다.
+ 새>테이블 업데이트 정책선택합니다.
다음 코드와 일치되도록 정책을 편집하거나 다음 명령을 복사하여 쿼리 편집기에 붙여넣습니다.
.alter table TransformedData policy update ```[{ "IsEnabled": true, "Source": "RawData", "Query": "TransformRawData()", "IsTransactional": false, "PropagateIngestionProperties": false }]```
명령을 실행하여 업데이트 정책을 만듭니다.
변환 확인
이 단계에서는 원본 및 대상 테이블의 출력을 비교하여 변환이 성공했는지 확인합니다.
메모
변환된 테이블의 데이터를 보는 데 몇 초 정도 걸릴 수 있습니다.
다음 쿼리를 복사하여 쿼리 편집기에 붙여넣어 원본 테이블에서 10명의 임의 레코드를 봅니다. 쿼리를 실행합니다.
RawData | take 10
다음 쿼리를 복사하여 쿼리 편집기에 붙여넣어 대상 테이블에서 10명의 임의 레코드를 봅니다. 쿼리를 실행합니다.
TransformedData | take 10
대상 테이블의 BikepointID 열에는 더 이상 "BikePoints_" 접두사를 포함하지 않습니다.
관련 콘텐츠
이 자습서에서 수행된 작업에 대한 자세한 내용은 다음을 참조하세요.
다음 단계
Real-Time Intelligence 자습서 4부: KQL 사용하여 스트리밍 데이터 쿼리