Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
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.
Gå til arbeidsområdet der du opprettet ressurser.
Velg Tutorial KQL-databasen du opprettet tidligere.
I objekttreet, under KQL-databasenavnet, velger du spørringsarbeidsområdet kalt Tutorial_queryset.
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.
Opprette en måltabell
I dette steget oppretter du en måltabell som brukes til å lagre dataene som er transformert av oppdateringspolicyen.
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")Kjør kommandoen for å opprette tabellen.
Du ser en ny mappe kalt Silver som inneholder en tabell kalt TransformedData under Tabeller-noden i objekttreet.
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.
Fra menybåndet velger du Database.
Velg + Ny>funksjon.
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") }Kjør kommandoen for å opprette funksjonen.
Du ser funksjonen TransformRawData under Functions-noden i objekttreet.
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.
Fra menybåndet velger du Database.
Velg + Ny>tabelloppdateringspolicy.
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 }]```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.
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 10Kopier 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_".
Relatert innhold
Hvis du vil ha mer informasjon om oppgaver i denne opplæringen, kan du se: