Udostępnij za pośrednictwem


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

Notatka

Ten samouczek jest częścią serii. Aby zapoznać się z poprzednią sekcją, zobacz: Real-Time Intelligence tutorial part 2: Get data in the Real-Time hub( Samouczek: Real-Time Intelligence — część 2: Pobieranie danych w centrum Real-Time.

W tej części samouczka dowiesz się, jak używać zasad aktualizacji do przekształcania danych w bazie danych KQL w usłudze Real-Time Intelligence. Zasady aktualizacji to mechanizmy automatyzacji wyzwalane, gdy nowe dane są zapisywane w tabeli. Eliminują one 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ś tabelę surowych danych do brązowego folderu

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

  1. Przejdź do bazy danych KQL utworzonej w poprzednim kroku o nazwie Tutorial.

  2. W drzewie obiektów w obszarze nazwy bazy danych KQL wybierz obszar roboczy zapytania o nazwie Tutorial_queryset.

  3. Skopiuj/wklej następujące polecenie, aby zmienić tabelę w celu przeniesienia tabeli do folderu 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")
    

Tworzenie tabeli docelowej

W tym kroku utworzysz tabelę docelową, która będzie używana do przechowywania danych przekształconych przy użyciu zasad aktualizacji.

  1. Skopiuj/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: dynamic, Longitude: dynamic, No_Bikes: long, No_Empty_Docks: long, Timestamp: datetime, BikesToBeFilled: long, Action: string) with (folder="Silver")
    
  2. Uruchom polecenie , aby utworzyć tabelę. W drzewie obiektów pod węzłem Tables powinna teraz pojawić się inna tabela o nazwie TransformedData.

Tworzenie funkcji za pomocą logiki 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ę Database.

  2. Wybierz pozycję +Nowa funkcja>.

  3. Zmodyfikuj funkcję tak, aby była zgodna z poniższym kodem lub skopiuj/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ę. Teraz powinna zostać wyświetlona funkcja TransformRawData w węźle Functions w drzewie obiektów.

Stosowanie zasad aktualizacji

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

  1. Na wstążce menu wybierz pozycję Database.

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

  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 sprawdzisz, czy przekształcenie zakończyło się pomyślnie, porównując dane wyjściowe z tabel źródłowych i docelowych.

Notatka

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

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

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

    TransformedData
    | take 10
    

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

Aby uzyskać więcej informacji na temat zadań wykonywanych w tym samouczku, zobacz:

Następny krok