Dela via


Realtidsanalys handledning del 4: Transformera data i en KQL-databas

Anmärkning

Den här handledningen är en del av en serie. För föregående avsnitt, se: Real-Time Intelligence-självstudiekurs del 3: Ange en avisering på din händelseström.

I den här delen av självstudien transformerar du data i en KQL-databas med hjälp av en uppdateringsprincip för att utlösa en automatiserad mekanism när nya data skrivs till en tabell. Principen eliminerar behovet av särskild orkestrering genom att köra en fråga för att transformera inmatade data och spara resultatet i en måltabell.

Flera uppdateringsprinciper kan definieras i en enda tabell, vilket möjliggör olika omvandlingar och sparar data till flera tabeller samtidigt. Måltabellerna kan ha ett annat schema, en kvarhållningsprincip och andra principer från källtabellen.

Flytta rådatatabellen till en Bronze-mapp

I detta steg flyttar du rådatatabellen till en bronsmapp för att organisera data i KQL-databasen.

  1. Gå till arbetsytan där du skapade resurser.

  2. Välj den KQL-utbildningsdatabas som du skapade tidigare.

  3. I objektträdet under namnet på KQL-databasen väljer du den frågearbetsyta som heter Tutorial_queryset.

    Skärmbild av att välja **Tutorial_queryset** från databasobjektträdet.

  4. Kopiera och klistra in följande kommando i frågeredigeraren för att flytta tabellen RawData till en Brons-mapp. Kör frågan genom att välja knappen Kör i menyfliksområdet eller trycka på Skift + Retur.

    .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")
    

    Du ser en ny mapp med namnet Brons som innehåller en tabell med namnet RawData under noden Tabeller i objektträdet.

    Skärmbild av undermappen Brons som innehåller RawData-tabellen.

Skapa en måltabell

I det här steget skapar du en måltabell som används för att lagra data som transformeras av uppdateringsprincipen.

  1. På en ny rad, med minst en rad mellan markören och den sista frågan, kopierar och klistrar du in följande kommando för att skapa en ny tabell med namnet TransformData med ett angivet schema.

    .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. Kör kommandot för att skapa tabellen.

    Du ser en ny mapp med namnet Silver som innehåller en tabell med namnet TransformData under noden Tabeller i objektträdet.

    Skärmbild av undermappen Silver som innehåller tabellen TransformData.

Skapa en funktion med transformeringslogik

I det här steget skapar du en lagrad funktion som innehåller transformeringslogik som ska användas i uppdateringsprincipen. Funktionen parsar kolumnen BikepointID och lägger till två nya beräknade kolumner.

  1. Välj Databas i menyfliksområdet.

  2. Välj + Ny>funktion.

  3. Redigera funktionen så att den matchar följande kod eller kopiera och klistra in följande kommando i frågeredigeraren.

    .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. Kör kommandot för att skapa funktionen.

    Du ser funktionen TransformRawData under noden Functions i objektträdet.

    Skärmbild av mappen Functions som innehåller funktionen TransformData.

Tillämpa en uppdateringsprincip

I det här steget tillämpar du en uppdateringsprincip på måltabellen för att transformera data. Uppdateringsprincipen använder den lagrade funktionen TransformRawData() för att parsa kolumnen BikepointID och lägger till två nya beräknade kolumner.

  1. Välj Databas i menyfliksområdet.

  2. Välj + Ny>tabelluppdateringsprincip.

  3. Redigera principen så att den matchar följande kod eller kopiera/klistra in följande kommando i frågeredigeraren.

     .alter table TransformedData policy update
     ```[{
         "IsEnabled": true,
         "Source": "RawData",
         "Query": "TransformRawData()",
         "IsTransactional": false,
         "PropagateIngestionProperties": false
     }]```
    
  4. Kör kommandot för att skapa uppdateringspolicyn.

Verifiera transformationen

I det här steget kontrollerar du att omvandlingen lyckas genom att jämföra utdata från käll- och måltabellerna.

Anmärkning

Det kan ta några sekunder att se data i den transformerade tabellen.

  1. Kopiera och klistra in följande fråga i frågeredigeraren för att visa 10 godtyckliga poster i källtabellen. Kör frågan.

    RawData
    | take 10
    
  2. Kopiera och klistra in följande fråga i frågeredigeraren för att visa 10 godtyckliga poster i måltabellen. Kör frågan.

    TransformedData
    | take 10
    

Observera att kolumnen BikepointID i måltabellen inte längre innehåller prefixet "BikePoints_".

Mer information om aktiviteter i den här självstudien finns i:

Nästa steg