Zpracování dat událostí pomocí editoru procesoru událostí
Editor procesoru událostí je prostředí bez kódu, které umožňuje přetáhnout a navrhnout logiku zpracování dat událostí. Tento článek popisuje, jak pomocí editoru navrhnout logiku zpracování.
Poznámka:
Vylepšené funkce jsou ve výchozím nastavení povolené při vytváření eventstreamů. Pokud máte streamy událostí vytvořené pomocí standardních funkcí, budou tyto streamy událostí dál fungovat. Pořád je můžete upravovat a používat jako obvykle. Doporučujeme vytvořit nový stream událostí, který nahradí standardní streamy událostí, abyste mohli využívat další možnosti a výhody rozšířených streamů událostí.
Požadavky
Než začnete, musíte splnit následující požadavky:
- Přístup k pracovnímu prostoru v režimu licence kapacity Fabric (nebo) zkušebním režimu licence s oprávněními Přispěvatel nebo vyšší.
Návrh zpracování událostí pomocí editoru
Pokud chcete s datovými proudy provádět operace zpracování datových proudů pomocí editoru bez kódu, postupujte takto:
Pokud ještě nejste v režimu úprav, vyberte na pásu karet možnost Upravit . Ujistěte se, že nadřazený uzel pro operace, které jsou připojené, má schéma.
Pokud chcete vložit operátor zpracování událostí mezi uzlem streamu a cílem v režimu úprav, můžete použít jednu z následujících dvou metod:
Vložte operátor přímo z připojovacího řádku. Nastavte ukazatel myši na spojovací čáru + a pak vyberte tlačítko. Na řádku připojení se zobrazí rozevírací nabídka a v této nabídce můžete vybrat operátor.
Vložte operátor z nabídky na pásu karet nebo plátna.
Operátor můžete vybrat z nabídky Události transformace na pásu karet.
Případně můžete najet myší na jeden z uzlů a pak tlačítko vybrat + , pokud jste odstranili připojovací řádek. Vedle tohoto uzlu se zobrazí rozevírací nabídka a v této nabídce můžete vybrat operátor.
Po vložení operátoru je potřeba tyto uzly znovu připojit. Najetím myší na levý okraj uzlu datového proudu a následným výběrem a přetažením zeleného kruhu ho připojte k uzlu Operátor správy polí . Stejným postupem připojte uzel operátoru Spravovat pole k cíli.
Vyberte uzel operátoru Spravovat pole . V konfiguračním panelu Spravovat pole vyberte pole, která chcete zobrazit. Pokud chcete přidat všechna pole, vyberte Přidat všechna pole. Můžete také přidat nové pole s integrovanými funkcemi pro agregaci dat z upstreamu. (V současné době jsou integrované funkce, které podporujeme, některé funkce v řetězcových funkcích, funkcích data a času, matematických funkcích. Pokud je chcete najít, vyhledejte ho.
built-in
)Po nakonfigurování operátoru Spravovat pole vyberte Aktualizovat a ověřte výsledek testu vytvořený tímto operátorem.
Pokud máte nějaké chyby konfigurace, zobrazí se na kartě Chyby vytváření v dolním podokně.
Pokud výsledek testu vypadá správně, uložte logiku zpracování událostí výběrem možnosti Publikovat a vraťte se do živého zobrazení.
Po dokončení těchto kroků můžete vizualizovat, jak stream událostí začne streamovat a zpracovávat data v živém zobrazení.
Editor zpracování událostí
Editor procesoru událostí (plátno v režimu úprav) umožňuje transformovat data do různých cílů. Pokud chcete navrhnout operace zpracování datových proudů pro datové proudy, zadejte režim úprav.
Režim úprav obsahuje plátno a dolní podokno, kde můžete:
- Sestavte logiku transformace dat událostí přetažením.
- Náhled výsledku testu v každém z uzlů zpracování od začátku do konce.
- Objevte všechny chyby vytváření v uzlech zpracování.
Rozložení editoru
- Nabídka pásu karet a plátno (číslo na obrázku): V tomto podokně můžete navrhnout logiku transformace dat výběrem operátoru (z nabídky Událostí transformace) a propojením datového proudu a cílových uzlů prostřednictvím nově vytvořeného uzlu operátoru. Můžete přetáhnout spojovací čáry nebo vybrat a odstranit připojení.
- Pravé podokno pro úpravy (dva na obrázku): V tomto podokně můžete nakonfigurovat vybraný uzel nebo zobrazit název datového proudu.
- Dolní podokno s náhledem dat a kartami chyb vytváření (tři na obrázku): V tomto podokně zobrazte náhled výsledku testu ve vybraném uzlu s kartou Výsledek testu. Karta Chyby vytváření obsahuje neúplnou nebo nesprávnou konfiguraci v uzlech operací.
Podporované typy a příklady uzlů
Tady jsou cílové typy, které podporují přidání operátorů před příjmem dat:
- Jezero
- Eventhouse (zpracování událostí před příjmem dat)
- Odvozený datový proud
- Aktivátor
Poznámka:
Pro cíle, které nepodporují přidání operátora před příjmem dat, můžete nejprve přidat odvozený datový proud jako výstup operátoru. Pak k tomuto odvozeného datovému proudu připojte zamýšlený cíl.
Procesor událostí v Lakehouse a databázi KQL (zpracování událostí před příjmem dat) umožňuje zpracovávat data před tím, než se ingestují do cíle.
Požadavky
Než začnete, musíte splnit následující požadavky:
- Přístup k pracovnímu prostoru v režimu licence kapacity Fabric (nebo) zkušebním režimu licence s oprávněními Přispěvatel nebo vyšší.
- Získejte přístup k pracovnímu prostoru s oprávněními přispěvatele nebo vyššími oprávněními, kde se nachází databáze lakehouse nebo KQL.
Návrh zpracování událostí pomocí editoru
Návrh zpracování událostí pomocí editoru procesoru událostí:
Přidejte cíl Lakehouse a do pravého podokna zadejte potřebné parametry. (Viz Přidání a správa cíle v eventstreamu pro podrobné pokyny.
Vyberte Otevřít procesor událostí. Zobrazí se obrazovka editoru zpracování událostí.
Na plátně editoru zpracování událostí vyberte uzel eventstream. Můžete zobrazit náhled datového schématu nebo změnit datový typ v pravém podokně Eventstream .
Pokud chcete vložit operátor zpracování událostí mezi tímto eventstreamem a cílem v editoru procesoru událostí, můžete použít jednu z následujících dvou metod:
Vložte operátor přímo z připojovacího řádku. Nastavte ukazatel myši na spojovací čáru a pak vyberte tlačítko +. Na řádku připojení se zobrazí rozevírací nabídka a v této nabídce můžete vybrat operátor.
Vložte operátor z nabídky na pásu karet nebo plátna.
Operátor můžete vybrat z nabídky Operace na pásu karet. Případně můžete najet myší na jeden z uzlů a po odstranění spojovacího řádku vybrat tlačítko +. Vedle tohoto uzlu se zobrazí rozevírací nabídka a v této nabídce můžete vybrat operátor.
Nakonec je potřeba tyto uzly znovu připojit. Najetím myší na levý okraj uzlu eventstream a následným výběrem a přetažením zeleného kruhu ho připojte k uzlu Operátor správy polí . Stejným postupem připojte uzel operátoru Spravovat pole k uzlu lakehouse.
Vyberte uzel operátoru Spravovat pole . V konfiguračním panelu Spravovat pole vyberte pole, která chcete zobrazit. Pokud chcete přidat všechna pole, vyberte Přidat všechna pole. Můžete také přidat nové pole s integrovanými funkcemi pro agregaci dat z upstreamu. (V současné době jsou integrované funkce, které podporujeme, některé funkce v Řetězcové funkce, funkce data a času, matematické funkce. Pokud je chcete najít, vyhledejte "předdefinované".)
Po nakonfigurování operátoru Spravovat pole vyberte Aktualizovat statický náhled a zobrazte náhled dat, která tento operátor vytvoří.
Pokud máte nějaké chyby konfigurace, zobrazí se na kartě Chyba vytváření v dolním podokně.
Pokud náhledová data vypadají správně, uložte logiku zpracování událostí výběrem možnosti Hotovo a vraťte se na obrazovku konfigurace cíle Lakehouse.
Výběrem možnosti Přidat dokončete vytvoření cíle jezera.
Editor procesoru událostí
Procesor událostí umožňuje transformovat data, která ingestujete, do cíle lakehouse. Když nakonfigurujete cíl lakehouse, najdete uprostřed obrazovky konfigurace cíle Lakehouse možnost Otevřít procesor událostí.
Výběrem možnosti Otevřít procesor událostí se spustí obrazovka editoru zpracování událostí, kde můžete definovat logiku transformace dat.
Editor procesoru událostí obsahuje plátno a dolní podokno, kde můžete:
- Sestavte logiku transformace dat událostí přetažením.
- Prohlédněte si náhled dat v jednotlivých uzlech zpracování od začátku do konce.
- Objevte všechny chyby vytváření v uzlech zpracování.
Rozložení obrazovky je podobné hlavnímu editoru. Skládá se ze tří částí zobrazených na následujícím obrázku:
Plátno se zobrazením diagramu: V tomto podokně můžete navrhnout logiku transformace dat tak, že vyberete operátor (z nabídky Operations ) a propojíte stream událostí a cílové uzly prostřednictvím nově vytvořeného uzlu operátora. Můžete přetáhnout spojovací čáry nebo vybrat a odstranit připojení.
Pravé podokno pro úpravy: Toto podokno umožňuje nakonfigurovat vybraný uzel operace nebo zobrazit schéma eventstreamu a cíle.
Dolní podokno s kartami náhledu dat a chyb vytváření: V tomto podokně zobrazte náhled dat ve vybraném uzlu pomocí karty Náhled dat. Karta Chyby vytváření obsahuje neúplnou nebo nesprávnou konfiguraci v uzlech operací.
Chyby vytváření
Chyby vytváření odkazují na chyby, ke kterým dochází v editoru procesoru událostí kvůli neúplné nebo nesprávné konfiguraci operačních uzlů, což vám pomůže najít a opravit potenciální problémy v procesoru událostí.
Chyby vytváření můžete zobrazit v dolním panelu editoru procesoru událostí. Na dolním panelu jsou uvedeny všechny chyby vytváření, každá chyba vytváření má čtyři sloupce:
- ID uzlu: Označuje ID uzlu operace, kde došlo k chybě vytváření.
- Typ uzlu: Označuje typ uzlu operace, kde došlo k chybě vytváření.
- Úroveň: Označuje závažnost chyby vytváření, existují dvě úrovně: Závažná chyba a informace. Závažná chyba vytváření na úrovni znamená, že váš procesor událostí má vážné problémy a nejde ho uložit ani spustit. Chyba vytváření na úrovni informací znamená, že váš procesor událostí obsahuje několik tipů nebo návrhů, které vám můžou pomoct optimalizovat nebo vylepšit procesor událostí.
- Chyba: Označuje konkrétní informace o chybě vytváření, stručně popíše příčinu a dopad chyby vytváření. Pokud chcete zobrazit podrobnosti, můžete vybrat kartu Zobrazit podrobnosti.
Vzhledem k tomu, že Eventstream a Eventhouse podporují různé datové typy, může proces převodu datových typů generovat chyby vytváření.
Následující tabulka ukazuje výsledky převodu datového typu z Eventstreamu na Eventhouse. Sloupce představují datové typy podporované eventstreamem a řádky představují datové typy podporované eventhousem. Buňky označují výsledky převodu, což může být jedna z následujících tří:
✔️ Označuje, že se vygenerují úspěšné převody, žádné chyby nebo upozornění.
❌ Označuje nemožné převod, vygeneruje se závažná chyba vytváření. Chybová zpráva je podobná této: Datový typ{1} "" pro sloupec "{0}" neodpovídá očekávanému typu "{2}" ve vybrané tabulce KQL a nedá se automaticky převést.
⚠✔ Označuje možné, ale nepřesné převody, vygeneruje se chyba vytváření informací. Chybová zpráva je podobná této: Datový typ "{1}" pro sloupec "{0}" neodpovídá očekávanému typu "{2}" ve vybrané tabulce KQL. Je to automaticky převrácené na "{2}".
string | bool | datetime | dynamic | guid | int | long | real | timespan | decimal | |
---|---|---|---|---|---|---|---|---|---|---|
Int64 | ❌ | ❌ | ❌ | ✔️ | ❌ | ⚠️ | ✔️ | ⚠️ | ❌ | ✔️ |
Dvojité desetinné číslo | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ⚠️ | ❌ | ⚠️ |
Řetězec | ✔️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Datum a čas | ⚠️ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Záznam | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Pole | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Jak vidíte v tabulce, některé převody datových typů jsou úspěšné, například řetězec na řetězec. Tyto převody negenerují žádné chyby vytváření a nemají vliv na provoz procesoru událostí.
Některé převody datových typů nejsou možné, například int na řetězec. Tyto převody generují chyby vytváření na závažné úrovni, což způsobí, že se procesor událostí nepodaří uložit. Abyste se těmto chybám vyhnuli, musíte změnit datový typ buď v tabulce Eventstream, nebo v tabulce KQL.
Některé převody datových typů jsou možné, ale nejsou přesné, například int na reálné. Tyto převody generují chyby vytváření na úrovni informací, které označují neshodu mezi datovými typy a výsledky automatického převodu. Tyto převody můžou způsobit ztrátu přesnosti nebo struktury dat. Můžete zvolit, jestli chcete tyto chyby ignorovat, nebo upravit datový typ buď v eventstreamu, nebo v tabulce KQL, aby se optimalizoval procesor událostí.
Operátory transformace
Procesor událostí poskytuje šest operátorů, které můžete použít k transformaci dat událostí podle potřeb vaší firmy.
Agregovat
Pomocí agregační transformace můžete vypočítat agregaci (součet, minimum, maximum nebo průměr) při každém výskytu nové události v určitém časovém období. Tato operace také umožňuje přejmenování těchto počítaných sloupců a filtrování nebo dělení agregace na základě jiných dimenzí v datech. Ve stejné transformaci můžete mít jednu nebo více agregací.
- Název operátoru: Zadejte název operace agregace.
- Přidat agregační funkci: Přidejte jednu nebo více agregací v agregační operaci.
- Typ: Zvolte typ agregace: Součet, Minimum, Maximum nebo Průměr.
- Pole: Vyberte sloupec, který chcete zpracovat.
- Název: Definujte název této agregační funkce.
- Dělení podle: Vyberte sloupec, podle které chcete agregaci seskupit.
- Agregace hodnot v rámci posledního: Zadejte časové okno pro agregaci (výchozí hodnota je 5 sekund).
Rozbalit
Pomocí transformace Rozbalit pole vytvořte nový řádek pro každou hodnotu v rámci pole. Můžete zvolit vytvoření řádku pro chybějící nebo prázdné pole nebo nevytvoříte řádek pro chybějící nebo prázdné pole.
Filtrovat
Pomocí transformace filtru můžete filtrovat události na základě hodnoty pole ve vstupu. V závislosti na datovém typu (číslo nebo text) transformace zachová hodnoty, které odpovídají vybrané podmínce, jako je hodnota null nebo není null.
Seskupit podle
Pomocí transformace Seskupit můžete vypočítat agregace napříč všemi událostmi v určitém časovém intervalu. Můžete seskupit podle hodnot v jednom nebo více polích. Je to jako agregační transformace umožňuje přejmenování sloupců, ale poskytuje další možnosti agregace a obsahuje složitější možnosti časových oken. Podobně jako agregace můžete přidat více než jednu agregaci na transformaci.
Agregace dostupné v transformaci jsou:
- Průměr
- Počet
- Maximum
- Minimum
- Percentil (souvislý a diskrétní)
- Směrodatná odchylka
- Sum
- Odchylka
V scénářích streamování času je provádění operací s daty obsaženými v časových oknech běžným vzorem. Procesor událostí podporuje funkce oken, které jsou integrovány s operátorem Group by . Můžete ho definovat v nastavení tohoto operátoru.
Správa polí
Transformace spravovat pole umožňuje přidávat, odebírat, měnit datový typ nebo přejmenovávat pole přicházející ze vstupu nebo jiné transformace. Nastavení bočního podokna umožňuje přidat nové pole výběrem možnosti Přidat pole, přidat více polí nebo přidat všechna pole najednou.
Kromě toho můžete přidat nové pole s integrovanými funkcemi pro agregaci dat z upstreamu. (V současné době jsou integrované funkce, které podporujeme, některé funkce v Řetězcové funkce, funkce data a času a matematické funkce. Pokud je chcete najít, vyhledejte "předdefinované".)
Následující tabulka ukazuje výsledky změny datového typu pomocí polí pro správu. Sloupce představují původní datové typy a řádky představují cílový datový typ.
- Pokud je ✔️ buňka v buňce, znamená to, že se dá převést přímo a v rozevíracím seznamu se zobrazí možnost cílového datového typu.
- Pokud je ❌ buňka v buňce, znamená to, že ji nejde převést a v rozevíracím seznamu se nezobrazuje možnost cílového datového typu.
- Pokud je ⚠v buňce funkce ️ znamená, že je možné ji převést, ale musí splňovat určité podmínky, jako je formát řetězce, musí splňovat požadavky cílového datového typu. Například při převodu z řetězce na int musí být řetězec platným celočíselnou formou, například
123
, nikoliabc
.
Int64 | Hodnota s dvojitou přesností | String | Datum a čas | Zaznamenat | Pole | |
---|---|---|---|---|---|---|
Int64 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
Dvojité desetinné číslo | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
Řetězec | ⚠️ | ⚠️ | ✔️ | ⚠️ | ❌ | ❌ |
Datum a čas | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ |
Záznam | ❌ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
Pole | ❌ | ❌ | ✔️ | ❌ | ❌ | ✔️ |
Sjednocení
Transformace Sjednocení slouží k propojení dvou nebo více uzlů a přidání událostí, které sdílí pole (se stejným názvem a datovým typem) do jedné tabulky. Pole, která se neshodují, se zahodí a nezahrnou se do výstupu.
Připojení
Transformace spojení slouží ke kombinování událostí ze dvou vstupů na základě vybraných dvojic polí. Pokud pár polí nevyberete, spojení je ve výchozím nastavení založené na čase. Výchozí hodnota je to, co tuto transformaci liší od dávky.
Stejně jako u běžných spojení máte možnosti pro logiku spojení:
- Vnitřní spojení: Zahrňte pouze záznamy z obou tabulek, kde pár odpovídá.
- Levé vnější spojení: Zahrňte všechny záznamy z levé (první) tabulky a pouze záznamy z druhého spojení, které odpovídají dvojici polí. Pokud žádná shoda neexistuje, pole z druhého vstupu jsou prázdná.