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:
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.
Przejdź do bazy danych KQL utworzonej w poprzednim kroku o nazwie Tutorial.
W drzewie obiektów w obszarze nazwy bazy danych KQL wybierz obszar roboczy zapytania o nazwie Tutorial_queryset.
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.
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")
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.
Na wstążce menu wybierz pozycję Database.
Wybierz pozycję +Nowa funkcja>.
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") }
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.
Na wstążce menu wybierz pozycję Database.
Wybierz pozycję + Nowe zasady aktualizacji tabel>.
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 }]```
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.
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
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_".
Powiązana zawartość
Aby uzyskać więcej informacji na temat zadań wykonywanych w tym samouczku, zobacz:
- polityka aktualizacji
- operator parsowania
- Funkcje składowane
- .create function command