Udostępnij przez


samouczek Real-Time Intelligence, część 4: przekształcanie danych w bazie danych KQL

Uwaga / Notatka

Ten samouczek jest częścią serii. Aby zapoznać się z poprzednią sekcją, zobacz: Samouczek dotyczący analizy w czasie rzeczywistym, część 3: Ustawianie alertu w strumieniu zdarzeń.

W tej części samouczka przekształcasz dane w bazie danych KQL przy użyciu zasad aktualizacji, aby wyzwolić zautomatyzowany mechanizm, gdy nowe dane są zapisywane w tabeli. Zasady eliminują potrzebę specjalnej aranżacji, uruchamiając zapytanie, aby przekształcić pozyskane dane i zapisać wynik w tabeli docelowej.

Wiele zasad aktualizacji można zdefiniować w jednej tabeli, co pozwala na różne przekształcenia i zapisywanie danych w wielu tabelach jednocześnie. Tabele docelowe mogą mieć inny schemat, zasady przechowywania i inne zasady z tabeli źródłowej.

Przenieś nieprzetworzoną tabelę danych do folderu Brązowego

W tym kroku przeniesiesz nieprzetworzoną tabelę danych do folderu Bronze, aby uporządkować dane w bazie danych KQL.

  1. Przejdź do obszaru roboczego, w którym zostały utworzone zasoby.

  2. Wybierz utworzoną wcześniej bazę danych Samouczka języka KQL.

  3. W drzewie obiektów pod nazwą bazy danych KQL wybierz obszar roboczy zapytania o nazwie Tutorial_queryset.

    Zrzut ekranu przedstawiający wybieranie **Tutorial_queryset** z drzewa elementów bazy danych.

  4. Skopiuj i wklej następujące polecenie do edytora zapytań, aby przenieść tabelę RawData do folderu Bronze. Uruchom zapytanie, wybierając przycisk Uruchom na wstążce menu lub naciskając 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")
    

    Zostanie wyświetlony nowy folder o nazwie Bronze zawierający tabelę o nazwie RawData w węźle Tabele w drzewie obiektów.

    Zrzut ekranu przedstawiający podfolder Bronze zawierający tabelę RawData.

Tworzenie tabeli docelowej

W tym kroku utworzysz tabelę docelową używaną do przechowywania danych przekształconych przez zasady aktualizacji.

  1. W nowym wierszu z co najmniej jednym wierszem między kursorem a ostatnim zapytaniem skopiuj i wklej następujące polecenie, aby utworzyć nową tabelę o nazwie TransformedData z określonym schematem.

    .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")
    
  2. Uruchom polecenie , aby utworzyć tabelę.

    Zostanie wyświetlony nowy folder o nazwie Silver zawierający tabelę o nazwie TransformedData w węźle Tabele w drzewie obiektów.

    Zrzut ekranu przedstawiający podfolder Silver zawierający tabelę TransformedData.

Tworzenie funkcji z logiką przekształcania

W tym kroku utworzysz funkcję przechowywaną, która przechowuje logikę przekształcania, która ma być używana w zasadach aktualizacji. Funkcja analizuje kolumnę BikepointID i dodaje dwie nowe kolumny obliczeniowe.

  1. Na wstążce menu wybierz pozycję Baza danych.

  2. Wybierz + Nowa>Funkcja.

  3. Zmodyfikuj funkcję tak, aby była zgodna z poniższym kodem lub skopiuj i wklej następujące polecenie do edytora zapytań.

    .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. Uruchom polecenie , aby utworzyć funkcję.

    Funkcja TransformRawData jest widoczna w węźle Funkcje w drzewie obiektów.

    Zrzut ekranu przedstawiający folder Functions zawierający funkcję TransformedData.

Stosowanie zasad aktualizacji

W tym kroku zastosujesz zasady aktualizacji do tabeli docelowej w celu przekształcenia danych. Zasady aktualizacji używają przechowywanej funkcji TransformRawData() do analizowania kolumny BikepointID i dodają dwie nowe kolumny obliczeniowe.

  1. Na wstążce menu wybierz pozycję Baza danych.

  2. Wybierz pozycję + Nowe>zasady aktualizacji tabeli.

  3. Zmodyfikuj zasady tak, aby odpowiadały następującej kodzie, lub skopiuj/wklej następujące polecenie do edytora zapytań.

     .alter table TransformedData policy update
     ```[{
         "IsEnabled": true,
         "Source": "RawData",
         "Query": "TransformRawData()",
         "IsTransactional": false,
         "PropagateIngestionProperties": false
     }]```
    
  4. Uruchom polecenie , aby utworzyć zasady aktualizacji.

Weryfikowanie przekształcenia

W tym kroku sprawdź, czy przekształcenie zakończyło się pomyślnie, porównując dane wyjściowe z tabel źródłowych i docelowych.

Uwaga / Notatka

Wyświetlanie danych w przekształconej tabeli może potrwać kilka sekund.

  1. Skopiuj i wklej następujące zapytanie do edytora zapytań, aby wyświetlić 10 dowolnych rekordów w tabeli źródłowej. Uruchamianie zapytania.

    RawData
    | take 10
    
  2. Skopiuj i wklej następujące zapytanie do edytora zapytań, aby wyświetlić 10 dowolnych rekordów w tabeli docelowej. Uruchamianie zapytania.

    TransformedData
    | take 10
    

Zwróć uwagę, że kolumna BikepointID w tabeli docelowej nie zawiera już prefiksu "BikePoints_".

Aby uzyskać więcej informacji o zadaniach w tym samouczku, zobacz:

Następny krok