Del via


Behandl hændelsesdata med hændelsesbehandlereditor

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.

Bemærk

Forbedrede funktioner aktiveres som standard, når du opretter eventstreams nu. Hvis du har hændelsesstreams, der er oprettet ved hjælp af standardfunktioner, fungerer disse hændelsesstreams fortsat. Du kan stadig redigere og bruge dem som normalt. Vi anbefaler, at du opretter en ny hændelsesstream for at erstatte standardhændelsesstreams, så du kan drage fordel af yderligere funktioner og fordele ved forbedrede hændelsesstreams.

Forudsætninger

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

  • Adgang til et arbejdsområde i Fabric-kapacitetslicenstilstand (eller) prøvelicenstilstand med bidragydertilladelser eller højere tilladelser.

Design hændelsesbehandling med editoren

Hvis du vil udføre behandlingshandlinger for dine datastrømme ved hjælp af en editor uden kode, skal du følge disse trin:

  1. Vælg Rediger på båndet, hvis du ikke allerede er i redigeringstilstand. Kontrollér, at upstreamnoden for de handlinger, der er forbundet, har et skema.

    Skærmbillede, der viser hændelsesbehandlereditoren i redigeringstilstand.

  2. Hvis du vil indsætte en hændelsesbehandlingsoperator mellem streamnoden og destinationen i redigeringstilstand, kan du bruge en af følgende to metoder:

    • 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 valget af knappen + på forbindelseslinjen.

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

      1. Du kan vælge en operator i menuen Transformér hændelser på båndet.

        Skærmbillede, der viser markeringen Administrer felter 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 valget af pluslinket på forbindelseslinjen.

      2. Når du har indsat operatoren, skal du genoprette forbindelsen til disse noder. Peg på venstre kant af streamnoden, 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 til destinationen.

        Skærmbillede, der viser, hvordan du forbinder feltet Administrer felter.

  3. 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 på built-in.)

    Skærmbillede, der viser, hvordan du konfigurerer feltet Administrer felter.

  4. Når du har konfigureret operatoren Administrer felter , skal du vælge Opdater for at validere testresultatet, der er produceret af denne operator.

    Skærmbillede, der viser den opdaterede side.

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

    Skærmbillede, der viser fanen Oprettelsesfejl.

  6. Hvis dit testresultat ser korrekt ud, skal du vælge Publicer for at gemme hændelsesbehandlingslogikken og vende tilbage til livevisning.

    Skærmbillede, der viser knappen Publicer på båndet markeret.

  7. Når du har fuldført disse trin, kan du visualisere, hvordan din eventstream begynder at streame og behandle data i livevisning.

    Skærmbillede, der viser livevisningen.

Redigeringsprogram til hændelsesbehandling

Hændelsesbehandlereditoren (lærredet i redigeringstilstand) giver dig mulighed for at transformere data til forskellige destinationer. Angiv redigeringstilstand for at designe behandlingshandlinger for dine datastrømme.

Skærmbillede, der viser redigeringsprogrammet til hændelsesbehandling for en hændelsesstream med forbedrede funktioner.

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

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

Editorlayout

Skærmbillede, der viser layoutet af hændelsesbehandlingseditoren for en hændelsesstream med forbedrede egenskaber.

  • Båndmenu og lærred (nummereret på billedet): I denne rude kan du designe din datatransformationslogik ved at vælge en operator (i menuen Transformér hændelser) og forbinde streamen og destinationsnoderne via den nyoprettede operatornode. Du kan trække og slippe forbindelseslinjer eller vælge og slette forbindelser.
  • Højre redigeringsrude (to på billedet): Denne rude giver dig mulighed for at konfigurere den valgte node eller få vist streamnavnet.
  • Nederste rude med faner for dataeksempel og oprettelsesfejl (tre på billedet): I denne rude kan du få vist testresultatet i en valgt node med fanen Test resultat. Fanen Oprettelsesfejl viser en liste over ufuldstændig eller forkert konfiguration i handlingsnoderne.

Understøttede nodetyper og -eksempler

Her er de destinationstyper, der understøtter tilføjelse af operatorer før indtagelse:

  • Lakehouse
  • Eventhouse (hændelsesbehandling før indtagelse)
  • Afledt stream
  • Aktivator

Bemærk

For destinationer, der ikke understøtter tilføjelse af operatorer før indtagelse, kan du først tilføje en afledt stream som output for din operator. Føj derefter den ønskede destination til denne afledte stream.

Skærmbillede, der viser layoutet af redigeringsprogrammet til hændelsesbehandling med filteroutput til en destination, der ikke understøttes.

Hændelsesbehandleren i Lakehouse og KQL Database (hændelsesbehandling før indtagelse) giver dig mulighed for at behandle dine data, før de indtages i din destination.

Forudsætninger

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

  • Adgang til et arbejdsområde i Fabric-kapacitetslicenstilstand (eller) prøvelicenstilstand med bidragydertilladelser eller højere tilladelser.
  • Få adgang til et arbejdsområde med bidragydertilladelser eller nyere, hvor dit lakehouse- eller KQL-database 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. Hold markøren over den venstre kant af eventstream-noden, 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 Eventhouse understøtter forskellige datatyper, kan processen med konvertering af datatyper generere oprettelsesfejl.

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

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

❌ 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 ligner: Datatypen "{1}" for kolonnen "{0}" stemmer ikke nøjagtigt overens med den forventede type "{2}" i den valgte KQL-tabel. Det 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 og 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.

  • Operatornavn: Angiv navnet på sammenlægningshandlingen.
  • Tilføj aggregeringsfunktion: Tilføj en eller flere sammenlægninger i aggregeringshandlingen.
  • Type: Vælg en sammenlægningstype: Sum, Minimum, Maksimum eller Gennemsnit.
  • Felt: Vælg den kolonne, der skal behandles.
  • Navn: Definer et navn til denne sammenlægningsfunktion.
  • Partitionér efter: Vælg en kolonne for at gruppere sammenlægningen.
  • Aggregerede værdier inden for den sidste: Angiv et tidsvindue for sammenlægning (standard er 5 sekunder).

Skærmbillede, der viser konfigurationen af den aggregerede operator og testresultatet.

Udvid

Brug transformationen Udvid matrix til at oprette en ny række for hver værdi i en matrix. Du kan vælge opret række for manglende/tomme matrixer eller ikke oprette rækker for manglende/tomme matrixer.

Skærmbillede, der viser konfigurationen og testresultatet for udvidelsesoperatoren.

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 felter, der er tilgængelig 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 de indbyggede funktioner i feltet Administrer felt.

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

  • Hvis der er en ✔️ i cellen, betyder det, at den kan konverteres direkte, og indstillingen for destinationsdatatypen vises på rullelisten.
  • Hvis der er en ❌ i cellen, betyder det, at den ikke kan konverteres, og indstillingen for måldatatype ikke vises 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 i destinationsdatatypen. 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 delte felter (med samme navn og datatype), til én tabel. Felter, der ikke stemmer overens, slippes og medtages ikke i outputtet.

Deltag

Brug transformationen Joinforbindelse til at kombinere hændelser fra to input baseret på de feltpar, du vælger. Hvis du ikke vælger et feltpar, er joinforbindelsen som standard baseret på klokkeslæt. Standarden er det, der adskiller denne transformation fra en batch.

Som med almindelige joinforbindelser har du muligheder for din joinlogik:

  • Indre joinforbindelse: Medtag kun poster fra begge tabeller, hvor parret stemmer overens.
  • Venstre ydre joinforbindelse: Medtag alle poster fra venstre (første) tabel og kun de poster fra den anden, der svarer til felternes par. Hvis der ikke er noget match, er felterne fra det andet input tomme.