다음을 통해 공유


Real-Time Intelligence 자습서 3부: KQL 데이터베이스의 데이터 변환

메모

이 자습서는 시리즈의 일부입니다. 이전 섹션은 Real-Time Intelligence 튜토리얼 2부: Real-Time 허브데이터 가져오기를 참조하세요.

자습서의 이 부분에서는 업데이트 정책을 사용하여 Real-Time Intelligence의 KQL 데이터베이스에서 데이터를 변환하는 방법을 알아봅니다. 업데이트 정책은 새 데이터가 테이블에 기록될 때 트리거되는 자동화 메커니즘입니다. 수집된 데이터를 변환하고 결과를 대상 테이블에 저장하는 쿼리를 실행하여 특수 오케스트레이션이 필요하지 않습니다. 단일 테이블에 여러 업데이트 정책을 정의하여 다양한 변환을 허용하고 동시에 여러 테이블에 데이터를 저장할 수 있습니다. 대상 테이블에는 원본 테이블의 다른 스키마, 보존 정책 및 기타 정책이 있을 수 있습니다.

원시 데이터 테이블을 브론즈 폴더로 이동

이 단계에서는 원시 데이터 테이블을 Bronze 폴더로 이동하여 KQL 데이터베이스의 데이터를 구성합니다.

  1. 이전 단계에서 만든 Tutorial이라는 KQL 데이터베이스로 이동합니다.

  2. 개체 트리의 KQL 데이터베이스 이름 아래에서 Tutorial_queryset쿼리 작업 영역을 선택합니다.

  3. 다음 명령을 복사/붙여넣어 테이블을 변경하여 테이블을 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")
    

대상 테이블 만들기

이 단계에서는 업데이트 정책을 사용하여 변환된 데이터를 저장하는 데 사용할 대상 테이블을 만듭니다.

  1. 다음 명령을 복사/붙여넣어 지정된 스키마를 사용하여 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")
    
  2. 명령을 실행하여 테이블을 만듭니다. 이제 개체 트리의 테이블 노드 아래에 있는 TransformedData라는 다른 테이블이 표시됩니다.

변환 논리를 사용하여 함수 만들기

이 단계에서는 업데이트 정책에 사용할 변환 논리를 포함하는 저장된 함수를 만듭니다. 이 함수는 BikepointID 열을 구문 분석하고 두 개의 새 계산 열을 추가합니다.

  1. 메뉴 리본에서 데이터베이스을 선택합니다.

  2. +새>함수선택합니다.

  3. 다음 코드와 일치되도록 함수를 편집하거나 다음 명령을 복사하여 쿼리 편집기에 붙여넣습니다.

    .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")
     }
    
  4. 명령을 실행하여 함수를 만듭니다. 이제 개체 트리의 Functions 노드 아래에 TransformRawData 함수가 표시됩니다.

업데이트 정책 적용

이 단계에서는 대상 테이블에 업데이트 정책을 적용하여 데이터를 변환합니다. 업데이트 정책은 저장된 함수 TransformRawData() 사용하여 BikepointID 열을 구문 분석하고 두 개의 새 계산 열을 추가합니다.

  1. 메뉴 리본에서 데이터베이스을 선택합니다.

  2. + 새>테이블 업데이트 정책선택합니다.

  3. 다음 코드와 일치되도록 정책을 편집하거나 다음 명령을 복사하여 쿼리 편집기에 붙여넣습니다.

    .alter table TransformedData policy update
    ```[{
        "IsEnabled": true,
        "Source": "RawData",
        "Query": "TransformRawData()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false
    }]```
    
  4. 명령을 실행하여 업데이트 정책을 만듭니다.

변환 확인

이 단계에서는 원본 및 대상 테이블의 출력을 비교하여 변환이 성공했는지 확인합니다.

메모

변환된 테이블의 데이터를 보는 데 몇 초 정도 걸릴 수 있습니다.

  1. 다음 쿼리를 복사하여 쿼리 편집기에 붙여넣어 원본 테이블에서 10명의 임의 레코드를 봅니다. 쿼리를 실행합니다.

    RawData
    | take 10
    
  2. 다음 쿼리를 복사하여 쿼리 편집기에 붙여넣어 대상 테이블에서 10명의 임의 레코드를 봅니다. 쿼리를 실행합니다.

    TransformedData
    | take 10
    

대상 테이블의 BikepointID 열에는 더 이상 "BikePoints_" 접두사를 포함하지 않습니다.

이 자습서에서 수행된 작업에 대한 자세한 내용은 다음을 참조하세요.

다음 단계

Real-Time Intelligence 자습서 4부: KQL 사용하여 스트리밍 데이터 쿼리