Del via


Real-Time Intelligence-selvstudium del 4: Transformér data i en KQL-database

Notat

Dette selvstudium er en del af en serie. For det foregående afsnit, se: Real-Time Intelligence-tutorial del 3: Sæt en alarm på din eventstream.

I denne del af tutorialen transformerer du data i en KQL-database ved hjælp af en opdateringspolitik for at udløse en automatiseret mekanisme, når nye data skrives til en tabel. Politikken eliminerer behovet for særlig orkestrering ved at køre en forespørgsel for at transformere de indlæste data og gemme resultatet i en destinationstabel.

Flere opdateringspolitikker kan defineres på en enkelt tabel, hvilket muliggør forskellige transformationer og gemmer data i flere tabeller samtidig. Destinationstabellerne kan have et andet skema, opbevaringspolitik og andre politikker end kildetabellen.

Flyt rå datatabel til en Bronze-mappe

I dette trin flytter du rådatatabellen til en bronzemappe for at organisere dataene i KQL-databasen.

  1. Gå til det arbejdsområde, hvor du har oprettet ressourcer.

  2. Vælg den tutorial KQL-database, du oprettede tidligere.

  3. I objekttræet under KQL-databasenavnet skal du vælge det forespørgselsarbejdsområde, der hedder Tutorial_queryset.

    Skærmbillede af at vælge **Tutorial_queryset** fra database-itemtræet.

  4. Kopier og indsæt følgende kommando i forespørgselseditoren for at flytte RawData-tabellen til en Bronze-mappe. Kør forespørgslen ved at vælge Kør-knappen i menubåndet eller trykke på 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")
    

    Du ser en ny mappe kaldet Bronze , der indeholder en tabel kaldet RawData under Tables-noden i objekttræet.

    Skærmbillede af Bronze-undermappen, der indeholder RawData-tabellen.

Opret en destinationstabel

I dette trin opretter du en måltabel, der bruges til at gemme de data, der er transformeret af opdateringspolitikken.

  1. På en ny linje, med mindst én linje mellem markøren og den sidste forespørgsel, kopier og indsæt følgende kommando for at oprette en ny tabel kaldet TransformedData med et specificeret skema.

    .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 kommandoen for at oprette tabellen.

    Du ser en ny mappe kaldet Silver , der indeholder en tabel kaldet TransformedData under Tables-noden i objekttræet.

    Skærmbillede af Silver-undermappen, der indeholder TransformedData-tabellen.

Opret en funktion med transformationslogik

I dette trin skal du oprette en gemt funktion, der indeholder den transformationslogik, der skal bruges i opdateringspolitikken. Funktionen fortolker kolonnen BikepointID og tilføjer to nye beregnede kolonner.

  1. På menubåndet skal du vælge Database.

  2. Vælg + Ny>funktion.

  3. Rediger funktionen, så den matcher den følgende kode, eller kopier og indsæt følgende kommando i forespørgselseditoren.

    .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 kommandoen for at oprette funktionen.

    Du ser funktionen TransformRawData under Functions-noden i objekttræet.

    Skærmbillede af Functions-mappen med TransformedData-funktionen.

Anvend en opdateringspolitik

I dette trin skal du anvende en opdateringspolitik på destinationstabellen for at transformere dataene. Opdateringspolitikken bruger den lagrede funktion TransformRawData() til at fortolke kolonnen BikepointID og tilføjer to nye beregnede kolonner.

  1. På menubåndet skal du vælge Database.

  2. Vælg + Ny>politik for tabelopdatering.

  3. Rediger politikken, så den stemmer overens med følgende kode, eller kopiér/indsæt følgende kommando i forespørgselseditoren.

     .alter table TransformedData policy update
     ```[{
         "IsEnabled": true,
         "Source": "RawData",
         "Query": "TransformRawData()",
         "IsTransactional": false,
         "PropagateIngestionProperties": false
     }]```
    
  4. Kør kommandoen for at oprette opdateringspolitikken.

Bekræft transformation

I dette trin skal du verificere, at transformationen er vellykket ved at sammenligne outputtet fra kilde- og måltabellerne.

Notat

Det kan tage et par sekunder at se data i den transformerede tabel.

  1. Kopier og indsæt følgende forespørgsel i forespørgselseditoren for at se 10 vilkårlige poster i kildetabellen. Kør forespørgslen.

    RawData
    | take 10
    
  2. Kopier og indsæt følgende forespørgsel i forespørgselseditoren for at vise 10 vilkårlige poster i måltabellen. Kør forespørgslen.

    TransformedData
    | take 10
    

Bemærk, at kolonnen BikepointID i måltabellen ikke længere indeholder præfikset "BikePoints_".

Du kan finde flere oplysninger om opgaver i dette selvstudium under:

Næste trin