Real-Time Intelligence-zelfstudie deel 3: Gegevens transformeren in een KQL-database
Notitie
Deze handleiding maakt deel uit van een reeks. Zie voor de vorige sectie: Real-Time Intelligence-zelfstudie deel 2: Gegevens ophalen in de Real-Time hub.
In dit deel van de zelfstudie leert u hoe u een updatebeleid gebruikt om gegevens in een KQL-database te transformeren in Real-Time Intelligence. Updatebeleid is automatiseringsmechanismen die worden geactiveerd wanneer nieuwe gegevens naar een tabel worden geschreven. Ze elimineren de noodzaak van speciale indeling door een query uit te voeren om de opgenomen gegevens te transformeren en het resultaat op te slaan in een doeltabel. Er kunnen meerdere updatebeleidsregels worden gedefinieerd in één tabel, waardoor verschillende transformaties mogelijk zijn en gegevens tegelijkertijd in meerdere tabellen kunnen worden opgeslagen. De doeltabellen kunnen een ander schema, bewaarbeleid en ander beleid uit de brontabel hebben.
Verplaats de onbewerkte gegevenstabel naar een bronze map
In deze stap verplaatst u de onbewerkte gegevenstabel naar een Bronze map voor het ordenen van de gegevens in de KQL-database.
Blader naar de KQL-database die u in een vorige stap hebt gemaakt, met de naam Zelfstudie.
Selecteer in de objectstructuur onder de naam van de KQL-database de querywerkruimte met de naam Tutorial_queryset.
Kopieer en plak het volgende commando om de tabel te wijzigen en deze naar een bronsmap te verplaatsen.
.alter table RawData (BikepointID:string,Street:string,Neighbourhood:string,Latitude:dynamic,Longitude:dynamic,No_Bikes:long,No_Empty_Docks:long,Timestamp:datetime) with (folder="Bronze")
Maak een doeltabel
In deze stap maakt u een doeltabel die wordt gebruikt voor het opslaan van de gegevens die worden getransformeerd met het updatebeleid.
Kopieer/plak de volgende opdracht om een nieuwe tabel te maken met de naam TransformedData met een opgegeven schema.
.create table TransformedData (BikepointID: int, Street: string, Neighbourhood: string, Latitude: dynamic, Longitude: dynamic, No_Bikes: long, No_Empty_Docks: long, Timestamp: datetime, BikesToBeFilled: long, Action: string) with (folder="Silver")
Voer de opdracht uit om de tabel te maken. U ziet nu een andere tabel onder het knooppunt Tabellen in de objectstructuur met de naam TransformedData.
Functie maken met transformatielogica
In deze stap maakt u een opgeslagen functie die de transformatielogica bevat die moet worden gebruikt in het updatebeleid. De functie parseert de BikepointID kolom en voegt twee nieuwe berekende kolommen toe.
Op de menulint, selecteer Database.
Selecteer +Nieuwe>Functie.
Bewerk de functie zodat deze overeenkomt met de volgende code of kopieer/plak de volgende opdracht in de queryeditor.
.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") }
Voer de opdracht uit om de functie te maken. U ziet nu de functie TransformRawData- onder het Functions-knooppunt in de objectstructuur.
Updatebeleid toepassen
In deze stap past u een updatebeleid toe op de doeltabel om de gegevens te transformeren. Het updatebeleid maakt gebruik van de opgeslagen functie TransformRawData() om de BikepointID kolom te parseren en twee nieuwe berekende kolommen toe te voegt.
Ga naar het menulint en selecteer Database.
Selecteer + Nieuw tabelupdatebeleid voor>.
Bewerk het beleid zodat het overeenkomt met de volgende code of kopieer/plak de volgende opdracht in de query-editor.
.alter table TransformedData policy update ```[{ "IsEnabled": true, "Source": "RawData", "Query": "TransformRawData()", "IsTransactional": false, "PropagateIngestionProperties": false }]```
Voer de opdracht uit om het updatebeleid te maken.
Transformatie controleren
In deze stap controleert u of de transformatie is geslaagd door de uitvoer van de bron- en doeltabellen te vergelijken.
Notitie
Het kan enkele seconden duren voordat gegevens in de getransformeerde tabel worden weergegeven.
Kopieer/plak de volgende query in de queryeditor om 10 willekeurige records in de brontabel weer te geven. Voer de query uit.
RawData | take 10
Kopieer/plak de volgende query in de queryeditor om 10 willekeurige records in de doeltabel weer te geven. Voer de query uit.
TransformedData | take 10
U ziet dat de kolom BikepointID in de doeltabel het voorvoegsel 'BikePoints_' niet meer bevat.
Verwante inhoud
Zie voor meer informatie over taken die in deze zelfstudie worden uitgevoerd: