Behandl hændelsesdata med hændelsesbehandlereditor

Hændelsesbehandleren i en Lakehouse-destination giver dig mulighed for at behandle dine data, før de indtages i dit lakehouse. Hændelsesbehandlereditoren er en oplevelse uden kode, der giver dig mulighed for at trække og slippe for at designe hændelsesdatabehandlingslogikken. I denne artikel beskrives det, hvordan du bruger editoren til at designe din behandlingslogik.

Forudsætninger

Før du starter, skal du fuldføre følgende forudsætninger:

  • Få adgang til et Premium-arbejdsområde med bidragydere eller nyere tilladelser, hvor din eventstream er placeret.
  • Få adgang til et Premium-arbejdsområde med bidragydere eller nyere tilladelser, hvor dit lakehouse er placeret.

Design hændelsesbehandling med editoren

Sådan designer du din hændelsesbehandling med hændelsesbehandlereditoren:

  1. Tilføj en Lakehouse-destination , og angiv de nødvendige parametre i ruden til højre. (Se Tilføj og administrer en destination i en eventstream for at få detaljerede instruktioner. )

  2. Vælg Åbn hændelsesprocessor. Skærmen Hændelsesbehandlingseditor vises.

    Skærmbillede, der viser, hvor du kan vælge Åbn hændelsesprocessor på konfigurationsskærmen for Lakehouse-destinationen.

  3. På lærredet til redigering af hændelsesbehandling skal du vælge noden eventstream. Du kan få vist et eksempel på dataskemaet eller ændre datatypen i ruden Eventstream til højre.

    Skærmbillede, der viser dataskemaet i ruden til højre på skærmen Hændelsesbehandlingseditor.

  4. Hvis du vil indsætte en hændelsesbehandlingsoperator mellem denne hændelsesstream og destination i hændelsesbehandlereditoren, kan du bruge en af følgende to metoder:

    1. Indsæt operatoren direkte fra forbindelseslinjen. Peg på forbindelseslinjen, og vælg derefter knappen "+". Der vises en rullemenu på forbindelseslinjen, og du kan vælge en operator i denne menu.

      Skærmbillede, der viser, hvor du kan holde markøren over forbindelseslinjen for at indsætte en node.

    2. Indsæt operatoren fra båndmenuen eller lærredet.

      1. Du kan vælge en operator i menuen Handlinger på båndet. Du kan også holde markøren over en af noderne og derefter vælge knappen "+", hvis du har slettet forbindelseslinjen. Der vises en rullemenu ud for den pågældende node, og du kan vælge en operator i denne menu.

        Skærmbillede, der viser, hvor du kan vælge en operator i menuen Handlinger.

        Skærmbillede, der viser, hvor du kan holde markøren over noder for at indsætte en node.

      2. Endelig skal du genoprette forbindelsen til disse noder. Peg på venstre kant af hændelsesstreamnoden, og vælg og træk derefter den grønne cirkel for at forbinde den med operatornoden Administrer felter . Følg den samme proces for at forbinde operatornoden Administrer felter med noden lakehouse.

        Skærmbillede, der viser, hvor noderne skal forbindes.

  5. Vælg operatornoden Administrer felter. Vælg de felter, du vil sende, i konfigurationspanelet Administrer felter . Hvis du vil tilføje alle felter, skal du vælge Tilføj alle felter. Du kan også tilføje et nyt felt med de indbyggede funktioner for at aggregere dataene fra upstream. (I øjeblikket er de indbyggede funktioner, vi understøtter, nogle funktioner i Strengfunktioner, dato- og klokkeslætsfunktioner, matematiske funktioner. Hvis du vil finde dem, skal du søge efter "indbygget".

    Skærmbillede, der viser, hvordan du konfigurerer operatoren.

  6. Når du har konfigureret operatoren Administrer felter , skal du vælge Opdater statisk eksempelvisning for at få vist de data, som denne operator producerer.

    Skærmbillede, der viser, hvordan du får vist data i hændelsesbehandlereditoren.

  7. Hvis du har konfigurationsfejl, vises de under fanen Oprettelsesfejl i den nederste rude.

    Skærmbillede, der viser fanen med oprettelsesfejl i hændelsesbehandlereditoren.

  8. Hvis dine forhåndsviste data ser korrekte ud, skal du vælge Udført for at gemme hændelsesbehandlingslogikken og vende tilbage til konfigurationsskærmen for Lakehouse-destinationen.

  9. Vælg Tilføj for at fuldføre oprettelsen af din lakehouse-destination.

Hændelsesbehandlereditor

Hændelsesprocessoren giver dig mulighed for at transformere de data, du indtager, til en lakehouse-destination. Når du konfigurerer din lakehouse-destination, finder du indstillingen Åbn hændelsesbehandler midt på konfigurationsskærmen for Lakehouse-destinationen .

Skærmbillede, der viser, hvor hændelsesbehandlereditoren skal åbnes.

Hvis du vælger Åbn hændelsesprocessor , startes skærmen Hændelsesbehandlingseditor , hvor du kan definere din datatransformationslogik.

Hændelsesbehandlereditoren indeholder et lærred og en nederste rude, hvor du kan:

  • Opret transformationslogikken for hændelsesdata med træk og slip.
  • Gennemse dataene i hver af behandlingsnoderne fra start til slut.
  • Find eventuelle oprettelsesfejl i behandlingsnoderne.

Skærmlayoutet er som hovededitoren. Den består af tre afsnit, der vises på følgende billede:

Skærmbillede af skærmen Hændelsesbehandlingseditor, der angiver de tre hovedafsnit.

  1. Lærred med diagramvisning: I denne rude kan du designe din datatransformationslogik ved at vælge en operator ( i menuen Handlinger ) og forbinde hændelsesstrømmen og destinationsnoderne via den nyoprettede operatornode. Du kan trække og slippe forbindelseslinjer eller vælge og slette forbindelser.

  2. Højre redigeringsrude: Denne rude giver dig mulighed for at konfigurere den valgte handlingsnode eller få vist skemaet for hændelsesstrømmen og destinationen.

  3. Nederste rude med fanerne dataeksempel og oprettelsesfejl: I denne rude kan du få vist dataene i en valgt node med fanen Dataeksempel . Fanen Oprettelsesfejl viser en liste over ufuldstændig eller forkert konfiguration i handlingsnoderne.

Oprettelsesfejl

Oprettelsesfejl refererer til de fejl, der opstår i hændelsesbehandlereditoren på grund af ufuldstændig eller forkert konfiguration af handlingsnoderne, hvilket hjælper dig med at finde og løse potentielle problemer i hændelsesbehandleren.

Du kan få vist oprettelsesfejl i nederste panel i hændelsesbehandlereditoren. I nederste panel vises alle oprettelsesfejl. Hver oprettelsesfejl har fire kolonner:

  • Node-id: Angiver id'et for den handlingsnode, hvor oprettelsesfejlen opstod.
  • Nodetype: Angiver typen af handlingsnoden, hvor oprettelsesfejlen opstod.
  • Niveau: Angiver alvorsgraden af oprettelsesfejlen. Der er to niveauer, Fatal og Information. Alvorlig fejl under oprettelse på niveau betyder, at hændelsesprocessoren har alvorlige problemer og ikke kan gemmes eller køres. Oprettelsesfejl på informationsniveau betyder, at hændelsesbehandleren har nogle tip eller forslag, der kan hjælpe dig med at optimere eller forbedre hændelsesprocessoren.
  • Fejl: Angiver de specifikke oplysninger om oprettelsesfejlen, der kort beskriver årsagen til og virkningen af oprettelsesfejlen. Du kan vælge fanen Vis detaljer for at få vist detaljer.

Da Eventstream og KQL Database understøtter forskellige datatyper, kan processen med konvertering af datatyper generere oprettelsesfejl.

I følgende tabel vises resultaterne af datatypekonverteringen fra Eventstream til KQL-database. Kolonnerne repræsenterer de datatyper, der understøttes af Eventstream, og rækkerne repræsenterer de datatyper, der understøttes af KQL Database. Cellerne angiver konverteringsresultaterne, som kan være en af følgende tre:

✔️ Angiver vellykket konvertering. Der genereres ingen fejl eller advarsler.

❌ Angiver umulig konvertering. Der genereres en alvorlig oprettelsesfejl. Fejlmeddelelsen ligner: Datatypen "{1}" for kolonnen "{0}" svarer ikke til den forventede type "{2}" i den valgte KQL-tabel. og kan ikke konverteres automatisk.

⚠️ Angiver mulig, men unøjagtig konvertering, der genereres fejl under oprettelse af oplysninger. Fejlmeddelelsen svarer til: Datatypen "{1}" for kolonnen "{0}" svarer ikke nøjagtigt til den forventede type "{2}" i den valgte KQL-tabel. Den konverteres automatisk til "{2}".

string bool dato/klokkeslæt Dynamisk Guid heltal langt format Reel Timespan decimal
Int64 ✔️ ⚠️ ✔️ ⚠️ ✔️
Dobbelt ✔️ ⚠️ ⚠️
Streng ✔️ ✔️
Datetime ⚠️ ✔️ ✔️
Post ⚠️ ✔️
Array ⚠️ ✔️

Som du kan se fra tabellen, lykkes nogle datatypekonverteringer, f.eks. streng til streng. Disse konverteringer genererer ingen oprettelsesfejl og påvirker ikke handlingen af hændelsesbehandleren.

Nogle datatypekonverteringer er umulige, f.eks. int til streng. Disse konverteringer genererer alvorlige oprettelsesfejl på niveau, hvilket medfører, at hændelsesprocessoren ikke kan gemme. Du skal ændre din datatype enten i din Eventstream- eller KQL-tabel for at undgå disse fejl.

Nogle datatypekonverteringer er mulige, men ikke præcise, f.eks. int til real. Disse konverteringer genererer oprettelsesfejl på informationsniveau, hvilket angiver uoverensstemmelsen mellem datatyper og de automatiske konverteringsresultater. Disse konverteringer kan medføre, at dine data mister præcision eller struktur. Du kan vælge, om du vil ignorere disse fejl, eller du kan ændre din datatype enten i din Eventstream- eller KQL-tabel for at optimere din hændelsesprocessor.

Transformationsoperatorer

Hændelsesbehandleren leverer seks operatorer, som du kan bruge til at transformere dine hændelsesdata i henhold til dine forretningsmæssige behov.

Skærmbillede, der viser de operatorer, der er tilgængelige for i menuen Handlinger.

Aggregering

Brug transformationen Aggregering til at beregne en aggregering (Sum, Minimum, Maksimum eller Gennemsnit), hver gang en ny hændelse indtræffer over en periode. Denne handling giver også mulighed for omdøbning af disse beregnede kolonner samt filtrering eller udsnit af sammenlægningen baseret på andre dimensioner i dine data. Du kan have en eller flere sammenlægninger i den samme transformation.

Udvid

Brug transformationen Udvid matrix til at oprette en ny række for hver værdi i en matrix.

Filtrer

Brug transformationen Filter til at filtrere hændelser baseret på værdien af et felt i inputtet. Afhængigt af datatypen (tal eller tekst) bevarer transformationen de værdier, der svarer til den valgte betingelse, f.eks . er null eller ikke er null.

Gruppér efter

Brug transformationen Gruppér efter til at beregne sammenlægninger på tværs af alle hændelser inden for et bestemt tidsvindue. Du kan gruppere efter værdierne i et eller flere felter. Det er ligesom transformationen Aggregering giver mulighed for omdøbning af kolonner, men giver flere muligheder for sammenlægning og indeholder mere komplekse indstillinger for tidsvinduer. På samme måde som aggregering kan du tilføje mere end én aggregering pr. transformation.

De tilgængelige sammenlægninger i transformationen er:

  • Gennemsnitlig
  • Tælling
  • Maksimum
  • Minimum
  • Fraktil (fortløbende og diskret)
  • Standardafvigelse
  • Sum
  • Varians

I tidsstreamingsscenarier er udførelse af handlinger på dataene i tidsmæssige vinduer et almindeligt mønster. Hændelsesprocessoren understøtter vinduesfunktioner, som er integreret med operatoren Gruppér efter . Du kan definere den i indstillingen for denne operator.

Skærmbillede, der viser operatoren Gruppér efter tilgængelig i hændelsesbehandlereditoren.

Administrer felter

Transformationen Administrer felter giver dig mulighed for at tilføje, fjerne, ændre datatype eller omdøbe felter, der kommer ind fra et input eller en anden transformation. Indstillingerne i sideruden giver dig mulighed for at tilføje et nyt felt ved at vælge Tilføj felt, tilføje flere felter eller tilføje alle felter på én gang.

Skærmbillede, der viser operatoren Administrer felt i hændelsesbehandlereditoren.

Desuden kan du tilføje et nyt felt med de indbyggede funktioner for at aggregere dataene fra upstream. (I øjeblikket er de indbyggede funktioner, vi understøtter, nogle funktioner i Strengfunktioner, dato- og klokkeslætsfunktioner og matematiske funktioner. Hvis du vil finde dem, skal du søge efter "indbygget".

Skærmbillede, der viser funktionerne til feltindbygning.

I følgende tabel vises resultaterne af at ændre datatypen ved hjælp af administrer felter. Kolonnerne repræsenterer den oprindelige datatype, og rækkerne repræsenterer destinationsdatatypen.

  • Hvis der er en ✔️ i cellen, betyder det, at den kan konverteres direkte, og indstillingen for måldatatypen vises på rullelisten.
  • Hvis der er en ❌ i cellen, betyder det, at den ikke kan konverteres, og indstillingen for destinationsdatatypen vises ikke på rullelisten.
  • Hvis der er en ⚠️ i cellen, betyder det, at den kan konverteres, men den skal opfylde visse betingelser, f.eks. strengformatet skal overholde kravene for måldatatypen. Når du f.eks. konverterer fra streng til int, skal strengen være en gyldig heltalsformular, f.eks. "123", ikke "abc".
Int64 Dobbelt String Datetime Post Matrix
Int64 ✔️ ✔️ ✔️
Dobbelt ✔️ ✔️ ✔️
Streng ⚠️ ⚠️ ✔️ ⚠️
Datetime ✔️ ✔️
Post ✔️ ✔️
Array ✔️ ✔️

Fagforening

Brug transformationen Union til at forbinde to eller flere noder og føje hændelser, der har delte felter (med samme navn og datatype), til én tabel. Felter, der ikke stemmer overens, slippes og medtages ikke i outputtet.