Sdílet prostřednictvím


kurz Real-Time Intelligence – část 4: Transformace dat v databázi KQL

Poznámka:

Tento kurz je součástí série. Předchozí část najdete v tématu: Real-Time Intelligence – část 3: Nastavení upozornění na stream událostí.

V této části kurzu se dozvíte, jak pomocí zásad aktualizace transformovat data v databázi KQL v Real-Time Intelligence. Zásady aktualizace jsou mechanismy automatizace aktivované při zápisu nových dat do tabulky. Eliminují nutnost zvláštní orchestrace spuštěním dotazu transformovat přijatá data a uložit výsledek do cílové tabulky. V jedné tabulce je možné definovat více zásad aktualizace, což umožňuje různé transformace a ukládání dat do více tabulek současně. Cílové tabulky můžou mít jiné schéma, zásady uchovávání informací a další zásady ze zdrojové tabulky.

Přesuňte nezpracovanou tabulku dat do bronzové složky

V tomto kroku přesunete nezpracovanou tabulku dat do složky Bronze a uspořádáte data v databázi KQL.

  1. Přejděte do svého pracovního prostoru.

  2. Vyberte databázi KQL, kterou jste vytvořili v předchozím kroku s názvem Kurz.

    Snímek obrazovky s výběrem dotazovací sady tutoriálu ze stromu položek databáze.

  3. Ve stromu objektů pod názvem databáze KQL vyberte pracovní prostor dotazu s názvem Tutorial_queryset.

  4. Zkopírujte a vložte následující příkaz v editoru dotazů a přesuňte tabulku do složky Bronze. Dotaz můžete spustit tak, že na pásu karet nabídky vyberete tlačítko Spustit nebo stisknete 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")
    

Vytvoření cílové tabulky

V tomto kroku vytvoříte cílovou tabulku, která se použije k ukládání dat transformovaných pomocí zásad aktualizace.

  1. Na novém řádku s alespoň jedním řádkem mezi kurzorem a posledním dotazem zkopírujte nebo vložte následující příkaz a vytvořte novou tabulku s názvem TransformedData se zadaným schématem.

    .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. Spuštěním příkazu vytvořte tabulku. Teď byste měli vidět další tabulku pod uzlem Tabulky ve stromu objektů s názvem TransformedData.

Vytvoření funkce s logikou transformace

V tomto kroku vytvoříte uloženou funkci, která obsahuje logiku transformace, která se použije v zásadách aktualizace. Funkce parsuje sloupec BikepointID a přidá dva nové počítané sloupce.

  1. Vyberte na pásu karet Databáze.

  2. Vyberte +Novou>funkci.

  3. Upravte funkci tak, aby odpovídala následujícímu kódu, nebo do editoru dotazů zkopírujte nebo vložte následující příkaz.

    .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. Spuštěním příkazu vytvořte funkci. Teď byste měli vidět funkci TransformRawData pod uzlem Funkce ve stromu objektů.

Použití zásad aktualizace

V tomto kroku použijete na cílovou tabulku zásadu aktualizace, která transformuje data. Zásada aktualizace používá uloženou funkci TransformRawData() k parsování sloupce BikepointID a přidá dva nové počítané sloupce.

  1. Na pásu karet nabídky vyberte Databáze.

  2. Vyberte + Nová>zásada aktualizace tabulky.

  3. Upravte zásadu tak, aby odpovídala následujícímu kódu, nebo do editoru dotazů zkopírujte nebo vložte následující příkaz.

    .alter table TransformedData policy update
    ```[{
        "IsEnabled": true,
        "Source": "RawData",
        "Query": "TransformRawData()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false
    }]```
    
  4. Spuštěním příkazu vytvořte zásadu aktualizace.

Ověření transformace

V tomto kroku ověříte, že transformace proběhla úspěšně, a to porovnáním výstupu ze zdrojových a cílových tabulek.

Poznámka:

Zobrazení dat v transformované tabulce může trvat několik sekund.

  1. Zkopírujte nebo vložte následující dotaz do editoru dotazů a zobrazte 10 libovolných záznamů ve zdrojové tabulce. Spusťte dotaz.

    RawData
    | take 10
    
  2. Zkopírujte nebo vložte následující dotaz do editoru dotazů a zobrazte 10 libovolných záznamů v cílové tabulce. Spusťte dotaz.

    TransformedData
    | take 10
    

Všimněte si, že sloupec BikepointID v cílové tabulce už neobsahuje předponu "BikePoints_".

Další informace o úlohách provedených v tomto kurzu najdete v těchto tématech:

Další krok