비고
이 자습서는 시리즈의 일부입니다. 이전 섹션은 Real-Time Intelligence 자습서 3부: eventstream에 대한 경고 설정 섹션을 참조하세요.
자습서의 이 부분에서는 업데이트 정책을 사용하여 KQL 데이터베이스의 데이터를 변환하여 테이블에 새 데이터를 쓸 때 자동화된 메커니즘을 트리거합니다. 이 정책은 수집된 데이터를 변환하고 결과를 대상 테이블에 저장하는 쿼리를 실행하여 특수 오케스트레이션이 필요하지 않습니다.
단일 테이블에 여러 업데이트 정책을 정의하여 다양한 변환을 허용하고 동시에 여러 테이블에 데이터를 저장할 수 있습니다. 대상 테이블에는 원본 테이블의 다른 스키마, 보존 정책 및 기타 정책이 있을 수 있습니다.
원시 데이터 테이블을 Bronze 폴더로 이동
이 단계에서는 원시 데이터 테이블을 Bronze 폴더로 이동하여 KQL 데이터베이스의 데이터를 구성합니다.
리소스를 만든 작업 영역으로 이동합니다.
이전에 만든 자습서 KQL 데이터베이스를 선택합니다.
개체 트리의 KQL 데이터베이스 이름 아래에서 Tutorial_queryset이라는 쿼리 작업 영역을 선택합니다.
다음 명령을 복사하여 쿼리 편집기에 붙여넣어 RawData 테이블을 Bronze 폴더로 이동합니다. 메뉴 리본에서 실행 단추를 선택하거나 Shift + Enter를 눌러 쿼리를 실행합니다.
.alter table RawData (BikepointID:string,Street:string,Neighbourhood:string,Latitude:real,Longitude:real,No_Bikes:long,No_Empty_Docks:long,Timestamp:datetime) with (folder="Bronze")개체 트리의 테이블 노드 아래에RawData라는 테이블이 포함된 Bronze라는 새 폴더가 표시됩니다.
대상 테이블 만들기
이 단계에서는 업데이트 정책에 의해 변환된 데이터를 저장하는 데 사용되는 대상 테이블을 만듭니다.
커서와 마지막 쿼리 사이에 줄이 하나 이상 있는 새 줄에서 다음 명령을 복사하여 붙여넣어 지정된 스키마를 사용하여 TransformedData 라는 새 테이블을 만듭니다.
.create table TransformedData (BikepointID: int, Street: string, Neighbourhood: string, Latitude: real, Longitude: real, No_Bikes: long, No_Empty_Docks: long, Timestamp: datetime, BikesToBeFilled: long, Action: string) with (folder="Silver")명령을 실행하여 테이블을 만듭니다.
개체 트리의 테이블 노드 아래에 TransformedData라는 테이블이 포함된 Silver라는 새 폴더가 표시됩니다.
변환 논리를 사용하여 함수 만들기
이 단계에서는 업데이트 정책에 사용할 변환 논리를 포함하는 저장된 함수를 만듭니다. 이 함수는 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_" 접두사를 포함하지 않습니다.
관련 콘텐츠
이 자습서의 작업에 대한 자세한 내용은 다음을 참조하세요.