Bearbeta händelsedata med redigeringsprogrammet för händelseprocessorn

Händelseprocessorn i ett Lakehouse-mål gör att du kan bearbeta dina data innan de matas in i ditt lakehouse. Redigeraren för händelseprocessorn är en kodfri upplevelse som gör att du kan dra och släppa för att utforma logiken för bearbetning av händelsedata. Den här artikeln beskriver hur du använder redigeraren för att utforma bearbetningslogik.

Förutsättningar

Innan du börjar måste du uppfylla följande krav:

  • Få åtkomst till en Premium-arbetsyta med deltagarbehörigheter eller högre behörigheter där din eventstream finns.
  • Få åtkomst till en Premium-arbetsyta med deltagarbehörigheter eller högre behörigheter där ditt lakehouse finns.

Utforma händelsebearbetningen med redigeraren

Så här utformar du händelsebearbetningen med redigeraren för händelseprocessorn:

  1. Lägg till ett Lakehouse-mål och ange nödvändiga parametrar i den högra rutan. (Se Lägg till och hantera ett mål i en händelseström för detaljerade instruktioner. )

  2. Välj Öppna händelseprocessor. Skärmen Redigerare för händelsebearbetning visas.

    Skärmbild som visar var du väljer Öppna händelseprocessor på konfigurationsskärmen för Lakehouse-mål.

  3. I arbetsytan Händelsebearbetningsredigerare väljer du noden eventstream. Du kan förhandsgranska dataschemat eller ändra datatypen i det högra fönstret Händelseström .

    Skärmbild som visar dataschemat i den högra rutan på skärmen Redigerare för händelsebearbetning.

  4. Om du vill infoga en händelsebearbetningsoperator mellan den här händelseströmmen och målet i redigeraren för händelseprocessorn kan du använda någon av följande två metoder:

    1. Infoga operatorn direkt från anslutningslinjen. Hovra på anslutningslinjen och välj sedan knappen "+". En nedrullningsbara meny visas på anslutningslinjen och du kan välja en operator på den här menyn.

      Skärmbild som visar var du ska hovra på anslutningslinjen för att infoga en nod.

    2. Infoga operatorn från menyfliksområdet eller arbetsytan.

      1. Du kan välja en operator på menyn Åtgärder i menyfliksområdet. Du kan också hovra på en av noderna och sedan välja knappen "+" om du har tagit bort anslutningslinjen. En nedrullningsbara meny visas bredvid noden och du kan välja en operator på den här menyn.

        Skärmbild som visar var du väljer en operator från menyn Åtgärder.

        Skärmbild som visar var du hovrar på noder för att infoga en nod.

      2. Slutligen måste du återansluta dessa noder. Hovra på den vänstra kanten av händelseströmnoden och välj och dra sedan den gröna cirkeln för att ansluta den till operatornoden Hantera fält . Följ samma process för att ansluta operatornoden Hantera fält till lakehouse-noden.

        Skärmbild som visar var noderna ska anslutas.

  5. Välj operatornoden Hantera fält . I konfigurationspanelen Hantera fält väljer du de fält som du vill mata ut. Om du vill lägga till alla fält väljer du Lägg till alla fält. Du kan också lägga till ett nytt fält med de inbyggda funktionerna för att aggregera data från uppströms. (För närvarande är de inbyggda funktioner som vi stöder vissa funktioner i Strängfunktioner, datum- och tidsfunktioner, matematiska funktioner. Sök efter dem genom att söka efter "inbyggda".)

    Skärmbild som visar hur du konfigurerar operatorn.

  6. När du har konfigurerat operatorn Hantera fält väljer du Uppdatera statisk förhandsversion för att förhandsgranska de data som operatorn skapar.

    Skärmbild som visar hur du förhandsgranskar data i redigeringsprogrammet för händelseprocessorn.

  7. Om du har några konfigurationsfel visas de på fliken Redigeringsfel i det nedre fönstret.

    Skärmbild som visar fliken redigeringsfel i redigeraren för händelseprocessorn.

  8. Om dina förhandsgranskningsdata ser korrekta ut väljer du Klar för att spara händelsebearbetningslogiken och återgå till konfigurationsskärmen för Lakehouse-målet.

  9. Välj Lägg till för att slutföra skapandet av lakehouse-målet.

Redigerare för händelseprocessor

Med händelseprocessorn kan du omvandla de data som du matar in till ett lakehouse-mål. När du konfigurerar lakehouse-målet hittar du alternativet Öppna händelseprocessor mitt på konfigurationsskärmen för Lakehouse-mål .

Skärmbild som visar var händelseprocessorredigeraren ska öppnas.

När du väljer Öppna händelseprocessor startas skärmen Redigerare för händelsebearbetning, där du kan definiera datatransformeringslogiken.

Händelseprocessorredigeraren innehåller en arbetsyta och ett nedre fönster där du kan:

  • Skapa logiken för händelsedatatransformering med dra och släpp.
  • Förhandsgranska data i var och en av bearbetningsnoderna från början till slut.
  • Identifiera eventuella redigeringsfel i bearbetningsnoderna.

Skärmlayouten är som huvudredigeraren. Den består av tre avsnitt som visas i följande bild:

Skärmbild av skärmen Händelsebearbetningsredigerare som anger de tre huvudavsnitten.

  1. Arbetsyta med diagramvy: I det här fönstret kan du utforma datatransformeringslogiken genom att välja en operator (från åtgärdsmenyn ) och ansluta händelseströmmen och målnoderna via den nyligen skapade operatornoden. Du kan dra och släppa anslutningslinjer eller välja och ta bort anslutningar.

  2. Höger redigeringsfönster: Med det här fönstret kan du konfigurera den valda åtgärdsnoden eller visa schemat för händelseströmmen och målet.

  3. Nedre fönstret med felflikar för dataförhandsgranskning och redigering: I det här fönstret förhandsgranskar du data i en vald nod med fliken Dataförhandsgranskning . Fliken Redigeringsfel visar en lista över ofullständiga eller felaktiga konfigurationer i åtgärdsnoderna.

Redigeringsfel

Redigeringsfel refererar till de fel som uppstår i redigeraren för händelseprocessor på grund av ofullständig eller felaktig konfiguration av åtgärdsnoderna, vilket hjälper dig att hitta och åtgärda potentiella problem i händelseprocessorn.

Du kan visa redigeringsfel i den nedre panelen i redigeraren för händelseprocessorn. I den nedre panelen visas alla redigeringsfel. Varje redigeringsfel har fyra kolumner:

  • Nod-ID: Anger ID för åtgärdsnoden där redigeringsfelet inträffade.
  • Nodtyp: Anger typen av åtgärdsnod där redigeringsfelet inträffade.
  • Nivå: Anger allvarlighetsgraden för redigeringsfelet, det finns två nivåer, Fatal och Information. Redigeringsfel på dödlig nivå innebär att händelseprocessorn har allvarliga problem och inte kan sparas eller köras. Redigeringsfel på informationsnivå innebär att händelseprocessorn har några tips eller förslag som kan hjälpa dig att optimera eller förbättra händelseprocessorn.
  • Fel: Anger den specifika informationen om redigeringsfelet och beskriver kort orsaken till och effekten av redigeringsfelet. Du kan välja fliken Visa information för att visa information.

Eftersom Eventstream och KQL Database stöder olika datatyper kan processen med datatypskonvertering generera redigeringsfel.

I följande tabell visas resultatet av datatypskonvertering från Eventstream till KQL Database. Kolumnerna representerar de datatyper som stöds av Eventstream och raderna representerar de datatyper som stöds av KQL Database. Cellerna anger konverteringsresultatet, vilket kan vara något av följande tre:

✔️ Anger lyckad konvertering, inga fel eller varningar genereras.

❌ Anger omöjlig konvertering, allvarligt redigeringsfel genereras. Felmeddelandet liknar: Datatypen "{1}" för kolumnen "{0}" matchar inte den förväntade typen "{2}" i den valda KQL-tabellen. och kan inte konverteras automatiskt.

⚠️ Anger möjlig men felaktig konvertering, informationsredigeringsfel genereras. Felmeddelandet liknar: Datatypen "{1}" för kolumnen "{0}" matchar inte exakt den förväntade typen "{2}" i den valda KQL-tabellen. Den konverteras automatiskt till "{2}".

sträng bool datetime dynamisk guid heltal lång real tidsintervall decimal
Int64 ✔️ ⚠️ ✔️ ⚠️ ✔️
Dubbel ✔️ ⚠️ ⚠️
Sträng ✔️ ✔️
DatumTid ⚠️ ✔️ ✔️
Post ⚠️ ✔️
Matris ⚠️ ✔️

Som du ser i tabellen lyckas vissa datatypkonverteringar, till exempel sträng till sträng. Dessa konverteringar genererar inga redigeringsfel och påverkar inte åtgärden för händelseprocessorn.

Vissa datatypkonverteringar är omöjliga, till exempel int to string. Dessa konverteringar genererar redigeringsfel på dödlig nivå, vilket gör att händelseprocessorn inte kan spara. Du måste ändra datatypen antingen i din Eventstream eller i KQL-tabellen för att undvika dessa fel.

Vissa datatypkonverteringar är möjliga, men inte exakta, till exempel int till real. Dessa konverteringar genererar redigeringsfel på informationsnivå som anger matchningsfel mellan datatyper och automatiska konverteringsresultat. Dessa konverteringar kan leda till att dina data förlorar precision eller struktur. Du kan välja om du vill ignorera dessa fel eller ändra datatypen antingen i din Eventstream eller i KQL-tabellen för att optimera händelseprocessorn.

Transformeringsoperatorer

Händelseprocessorn tillhandahåller sex operatorer som du kan använda för att transformera dina händelsedata enligt dina affärsbehov.

Skärmbild som visar de operatorer som är tillgängliga i menyn Åtgärder.

Aggregera

Använd aggregeringstransformeringen för att beräkna en aggregering (Summa, Minimum, Maximum eller Average) varje gång en ny händelse inträffar under en tidsperiod. Den här åtgärden gör det också möjligt att byta namn på dessa beräknade kolumner, samt att filtrera eller segmentera aggregeringen baserat på andra dimensioner i dina data. Du kan ha en eller flera sammansättningar i samma transformering.

Visa

Använd transformeringen Expandera matris för att skapa en ny rad för varje värde i en matris.

Filtrera

Använd filtertransformeringen för att filtrera händelser baserat på värdet för ett fält i indata. Beroende på datatypen (tal eller text) behåller omvandlingen de värden som matchar det valda villkoret, till exempel är null eller inte är null.

Gruppera efter

Använd gruppen efter transformering för att beräkna aggregeringar för alla händelser inom ett visst tidsfönster. Du kan gruppera efter värden i ett eller flera fält. Det är som om aggregeringstransformeringen tillåter namnbyte av kolumner, men ger fler alternativ för aggregering och innehåller mer komplexa alternativ för tidsfönster. Precis som aggregering kan du lägga till mer än en aggregering per transformering.

De aggregeringar som är tillgängliga i omvandlingen är:

  • Medel
  • Antal
  • Högsta
  • Minimal
  • Percentil (kontinuerlig och diskret)
  • Standardavvikelse
  • Sum
  • Varians

I scenarier med tidsuppspelning är det ett vanligt mönster att utföra åtgärder på data som finns i temporala fönster. Händelseprocessorn stöder fönsterfunktioner som är integrerade med operatorn Gruppera efter. Du kan definiera det i inställningen för den här operatorn.

Skärmbild som visar operatorn Gruppera efter som är tillgänglig i redigeringsprogrammet för händelseprocessorn.

Hantera fält

Med transformering av hantera fält kan du lägga till, ta bort, ändra datatyp eller byta namn på fält som kommer in från en indata eller en annan transformering. Med inställningarna för sidofönstret kan du lägga till ett nytt fält genom att välja Lägg till fält, lägga till flera fält eller lägga till alla fält samtidigt.

Skärmbild som visar operatorn Hantera fält som är tillgänglig i redigeringsprogrammet för händelseprocessorn.

Dessutom kan du lägga till ett nytt fält med de inbyggda funktionerna för att aggregera data från uppströms. (För närvarande är de inbyggda funktioner som vi stöder vissa funktioner i Strängfunktioner, datum- och tidsfunktioner och matematiska funktioner. Sök efter dem genom att söka efter "inbyggda".)

Skärmbild som visar funktionerna för att skapa fält i fältet.

I följande tabell visas resultatet av att ändra datatypen med hjälp av hanteringsfält. Kolumnerna representerar den ursprungliga datatypen och raderna representerar måldatatypen.

  • Om det finns en ✔️ i cellen innebär det att den kan konverteras direkt och att alternativet för måldatatyp visas i listrutan.
  • Om det finns en ❌ i cellen innebär det att den inte kan konverteras och att alternativet för måldatatyp inte visas i listrutan.
  • Om det finns en ⚠️ i cellen innebär det att den kan konverteras, men den måste uppfylla vissa villkor, till exempel strängformatet måste uppfylla kraven för måldatatypen. När du till exempel konverterar från sträng till int måste strängen vara ett giltigt heltalsformulär, till exempel "123", inte "abc".
Int64 Dubbel String Datetime Post Matris
Int64 ✔️ ✔️ ✔️
Dubbel ✔️ ✔️ ✔️
Sträng ⚠️ ⚠️ ✔️ ⚠️
DatumTid ✔️ ✔️
Post ✔️ ✔️
Matris ✔️ ✔️

Union

Använd Unionstransformeringen för att ansluta två eller flera noder och lägga till händelser som har delade fält (med samma namn och datatyp) i en tabell. Fält som inte matchar tas bort och ingår inte i utdata.