Del via


Real-Time Intelligence-opplæring del 4: Transformere data i en KQL-database

Note

Denne opplæringen er en del av en serie. For forrige avsnitt, se: Real-Time Intelligence-veiledning del 3: Sett et varsel på hendelsesstrømmen din.

I denne delen av veiledningen transformerer du data i en KQL-database ved hjelp av en oppdateringspolicy for å utløse en automatisert mekanisme når nye data skrives til en tabell. Policyen eliminerer behovet for spesiell orkestrering ved å kjøre en spørring for å transformere de importerte dataene og lagre resultatet i en destinasjonstabell.

Flere oppdateringspolicyer kan defineres på én enkelt tabell, noe som tillater ulike transformasjoner og lagrer data i flere tabeller samtidig. Måltabellene kan ha et annet skjema, oppbevaringspolicy og andre policyer enn kildetabellen.

Flytt rådatatabellen til en Bronze-mappe

I dette trinnet flytter du rådatatabellen til en bronsemappe for å organisere dataene i KQL-databasen.

  1. Gå til arbeidsområdet der du opprettet ressurser.

  2. Velg Tutorial KQL-databasen du opprettet tidligere.

  3. I objekttreet, under KQL-databasenavnet, velger du spørringsarbeidsområdet kalt Tutorial_queryset.

    Skjermbilde av å velge **Tutorial_queryset** fra database-elementtreet.

  4. Kopier og lim inn følgende kommando i spørringseditoren for å flytte RawData-tabellen til en Bronze-mappe. Kjør spørringen ved å velge Kjør-knappen i menybå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 kalt Bronze som inneholder en tabell kalt RawData under Tables-noden i objekttreet.

    Skjermbilde av Bronze-undermappen som inneholder RawData-tabellen.

Opprette en måltabell

I dette steget oppretter du en måltabell som brukes til å lagre dataene som er transformert av oppdateringspolicyen.

  1. På en ny linje, med minst én linje mellom markøren og den siste forespørselen, kopier og lim inn følgende kommando for å lage en ny tabell kalt TransformedData med et spesifisert skjema.

    .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. Kjør kommandoen for å opprette tabellen.

    Du ser en ny mappe kalt Silver som inneholder en tabell kalt TransformedData under Tabeller-noden i objekttreet.

    Skjermbilde av Silver-undermappen som inneholder tabellen TransformedData.

Lag en funksjon med transformasjons-logikk

I dette trinnet oppretter du en lagret funksjon som inneholder transformasjonslogikken som skal brukes i oppdateringspolicyen. Funksjonen analyserer BikepointID-kolonnen og legger til to nye beregnede kolonner.

  1. Fra menybåndet velger du Database.

  2. Velg + Ny>funksjon.

  3. Rediger funksjonen slik at den matcher følgende kode, eller kopier og lim inn følgende kommando i spørringseditoren.

    .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. Kjør kommandoen for å opprette funksjonen.

    Du ser funksjonen TransformRawData under Functions-noden i objekttreet.

    Skjermbilde av Functions-mappen som inneholder TransformedData-funksjonen.

Bruk en oppdateringspolicy

I dette trinnet bruker du en oppdateringspolicy på måltabellen for å transformere dataene. Oppdateringspolicyen bruker den lagrede funksjonen TransformRawData() til å analysere BikepointID-kolonnen og legger til to nye beregnede kolonner.

  1. Fra menybåndet velger du Database.

  2. Velg + Ny>tabelloppdateringspolicy.

  3. Rediger policyen slik at den samsvarer med følgende kode, eller kopier/lim inn følgende kommando i redigeringsprogrammet for spørring.

     .alter table TransformedData policy update
     ```[{
         "IsEnabled": true,
         "Source": "RawData",
         "Query": "TransformRawData()",
         "IsTransactional": false,
         "PropagateIngestionProperties": false
     }]```
    
  4. Kjør kommandoen for å opprette oppdateringspolicyen.

Bekreft transformasjon

I dette steget, verifiser du at transformasjonen er vellykket ved å sammenligne utdataene fra kilde- og måltabellene.

Note

Det kan ta noen sekunder å se data i den transformerte tabellen.

  1. Kopier og lim inn følgende spørring i spørringseditoren for å se 10 vilkårlige poster i kildetabellen. Kjør spørringen.

    RawData
    | take 10
    
  2. Kopier og lim inn følgende spørring i spørringseditoren for å vise 10 vilkårlige poster i måltabellen. Kjør spørringen.

    TransformedData
    | take 10
    

Legg merke til at BikepointID-kolonnen i måltabellen ikke lenger inneholder prefikset "BikePoints_".

Hvis du vil ha mer informasjon om oppgaver i denne opplæringen, kan du se:

Neste trinn