Přehled průběžného exportu dat
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Tento článek popisuje průběžný export dat z Kusto do externí tabulky s pravidelně spouštěným dotazem. Výsledky se ukládají do externí tabulky, která definuje cíl, jako je Azure Blob Storage, a schéma exportovaných dat. Tento proces zaručuje, že se všechny záznamy exportují "přesně jednou", s některými výjimkami.
Ve výchozím nastavení běží průběžný export v distribuovaném režimu, kde všechny uzly exportují souběžně, takže počet artefaktů závisí na počtu uzlů. Průběžný export není určený pro streamovaná data s nízkou latencí.
Pokud chcete povolit průběžný export dat, vytvořte externí tabulku a pak vytvořte definici průběžného exportu odkazující na externí tabulku.
V některých případech musíte ke úspěšné konfiguraci úlohy průběžného exportu použít spravovanou identitu. Další informace najdete v tématu Použití spravované identity ke spuštění úlohy průběžného exportu.
Oprávnění
Všechny příkazy průběžného exportu vyžadují alespoň oprávnění správce databáze.
Pokyny pro průběžný export
Výstupní schéma:
- Výstupní schéma exportovacího dotazu musí odpovídat schématu externí tabulky, do které exportujete.
Frekvence:
Průběžný export se spouští podle časového období nakonfigurovaného pro něj ve
intervalBetweenRuns
vlastnosti. Doporučená hodnota pro tento interval je aspoň několik minut v závislosti na latencích, které jste ochotni přijmout. Časový interval může být tak nízký jako jedna minuta, pokud je rychlost příjmu dat vysoká.Poznámka:
Slouží
intervalBetweenRuns
pouze jako doporučení a není zaručeno, že jsou přesné. Průběžný export není vhodný pro export pravidelných agregací. Například konfiguraceintervalBetweenRuns
=1h
s hodinovou agregací (T | summarize by bin(Timestamp, 1h)
) nebude fungovat podle očekávání, protože průběžný export se nespustí přesně za hodinu. Každý hodinový interval proto obdrží více položek v exportovaných datech.
Počet souborů:
- Početsouborůch Další informace najdete v tématu exportu do příkazu externí tabulky. Každá průběžná iterace exportu vždy zapisuje do nových souborů a nikdy se nepřidá k existujícím souborům. V důsledku toho počet exportovaných souborů závisí také na frekvenci, ve které se průběžný export spouští. Parametr frekvence je
intervalBetweenRuns
.
- Početsouborůch Další informace najdete v tématu exportu do příkazu externí tabulky. Každá průběžná iterace exportu vždy zapisuje do nových souborů a nikdy se nepřidá k existujícím souborům. V důsledku toho počet exportovaných souborů závisí také na frekvenci, ve které se průběžný export spouští. Parametr frekvence je
Účty úložiště externích tabulek:
- Pro zajištění nejlepšího výkonu by se databáze a účty úložiště měly společně přidělovat ve stejné oblasti Azure.
- Průběžný export funguje distribuovaně, takže se všechny uzly exportují souběžně. U velkých databází a pokud je exportovaný datový svazek velký, může to vést k omezování úložiště. Doporučujeme nakonfigurovat pro externí tabulku více účtů úložiště. Další informace najdete v tématu selhání úložiště během příkazů exportu.
Přesně jednou export
K zajištění "přesně jednou" exportu používá průběžný export kurzory databáze. Dotaz průběžného exportu by neměl obsahovat filtr časového razítka – mechanismus kurzorů databáze zajišťuje, aby se záznamy nezpracovávali více než jednou. Přidání filtru časového razítka v dotazu může vést k chybějícím datům v exportovaných datech.
U všech tabulek odkazovaných v dotazu, na které se má v exportu zpracovat "přesně jednou", musí být povolená zásada IngestionTime. Zásady jsou ve výchozím nastavení povolené ve všech nově vytvořených tabulkách.
Záruka pro "přesně jednou" export je určená jenom pro soubory hlášené příkazem zobrazit exportované artefakty. Průběžný export nezaručuje, že každý záznam je zapsán pouze jednou do externí tabulky. Pokud dojde k selhání po zahájení exportu a některé artefakty byly již zapsány do externí tabulky, externí tabulka může obsahovat duplicity. Pokud byla operace zápisu před dokončením přerušena, může externí tabulka obsahovat poškozené soubory. V takových případech se artefakty z externí tabulky neodstraní, ale v se nezobrazí příkaz exportovaných artefaktů. Využívání exportovaných souborů pomocí show exported artifacts command
záruk bez duplicit a poškození.
Export z tabulek faktů a dimenzí
Ve výchozím nastavení se u všech tabulek odkazovaných v dotazu na export předpokládá, že jde o tabulky faktů. Proto jsou vymezeny kurzorem databáze. Syntaxe explicitně deklaruje, které tabulky mají obor (fakta) a které nejsou vymezeny (dimenze).
over
Podrobnosti najdete v parametru v příkazu create.
Dotaz exportu obsahuje pouze záznamy, které se připojily od předchozího spuštění exportu. Exportní dotaz může obsahovat tabulky dimenzí, ve kterých jsou všechny záznamy tabulky dimenzí zahrnuty do všech exportních dotazů. Při použití spojení mezi tabulkami faktů a dimenzí v průběžném exportu mějte na paměti, že záznamy v tabulce faktů se zpracovávají pouze jednou. Pokud export poběží, zatímco u některých klíčů chybí záznamy v tabulkách dimenzí, záznamy příslušných klíčů se buď zmešká, nebo obsahují hodnoty null pro sloupce dimenzí v exportovaných souborech. Vrácení zmeškaných záznamů nebo záznamů null závisí na tom, jestli dotaz používá vnitřní nebo vnější spojení. Vlastnost forcedLatency
v definici průběžného exportu může být užitečná v takových případech, kdy se tabulky faktů a dimenzí ingestují ve stejnou dobu pro odpovídající záznamy.
Poznámka:
Průběžný export pouze tabulek dimenzí se nepodporuje. Dotaz exportu musí obsahovat alespoň jednu tabulku faktů.
Monitorování průběžného exportu
Pomocí následujících metrik exportu monitorujte stav úloh průběžného exportu:
-
Continuous export max lateness
– maximální zpoždění (v minutách) průběžných exportů v databázi. Jedná se o čas mezi teď a minimálnímExportedTo
časem všech úloh průběžného exportu v databázi. Další informace najdete.show continuous export
v příkazu. -
Continuous export result
– Úspěch/selhání výsledku každého průběžného provádění exportu. Tuto metriku je možné rozdělit podle názvu průběžného exportu.
.show continuous export failures
Pomocí příkazu můžete zobrazit konkrétní selhání úlohy průběžného exportu.
Upozorňující
Pokud průběžný export po dobu více než 7 dnů selže kvůli trvalému selhání, systém export automaticky zakáže.
Mezi trvalé chyby patří: Externí tabulka nebyla nalezena, neshoda mezi schématem dotazu průběžného exportu a schématem externí tabulky, účet úložiště není přístupný.
Po opravení chyby můžete pomocí příkazu znovu povolit průběžný export .enable continuous export
.
Využití prostředků
- Dopad průběžného exportu na databázi závisí na dotazu, na kterém je průběžný export spuštěný. Většina prostředků, jako je procesor a paměť, využívá provádění dotazu.
- Počet operací exportu, které se dají spustit souběžně, je omezen kapacitou exportu dat databáze. Další informace najdete v tématu Omezení příkazů správy. Pokud databáze nemá dostatečnou kapacitu pro zpracování všech průběžných exportů, některé se začnou zpomalovat.
- Příkaz zobrazit příkazy a dotazy lze použít k odhadu spotřeby prostředků.
- Filtrováním zobrazíte
| where ClientActivityId startswith "RunContinuousExports"
příkazy a dotazy přidružené k průběžnému exportu.
- Filtrováním zobrazíte
Export historických dat
Průběžný export začíná exportovat data pouze od okamžiku jeho vytvoření. Záznamy ingestované před tímto časem by se měly exportovat samostatně pomocí příkazu pro nepřerušovaný export. Historická data můžou být příliš velká, aby se exportovala v jednom příkazu exportu. V případě potřeby rozdělte dotaz do několika menších dávek.
Aby nedocházelo k duplicitám s daty exportovanými průběžným exportem, použijte StartCursor
příkaz zobrazit průběžný export a exportujte pouze záznamy where cursor_before_or_at
hodnoty kurzoru. Příklad:
.show continuous-export MyExport | project StartCursor
StartCursor |
---|
636751928823156645 |
Následuje:
.export async to table ExternalBlob
<| T | where cursor_before_or_at("636751928823156645")
Průběžný export z tabulky se zabezpečením na úrovni řádků
Pokud chcete vytvořit úlohu průběžného exportu s dotazem, který odkazuje na tabulku se zásadami zabezpečení na úrovni řádků, musíte:
- Jako součást konfigurace průběžného exportu zadejte spravovanou identitu. Další informace najdete v tématu Použití spravované identity ke spuštění úlohy průběžného exportu.
- Pro externí tabulku, do které se data exportují, použijte ověřování zosobnění .
Průběžný export do tabulky Delta – Preview
Průběžný export do tabulky Delta je aktuálně ve verzi Preview.
Důležité
Dělení tabulek Delta se v průběžném exportu dat nepodporuje.
Kusto nebude zapisovat do existujících tabulek Delta, pokud je verze zápisu rozdílového protokolu vyšší než 1.
Pokud chcete definovat průběžný export do tabulky Delta, postupujte takto:
Vytvořte externí rozdílovou tabulku, jak je popsáno v tématu Vytvoření a změna rozdílových externích tabulek ve službě Azure Storage.
Poznámka:
Pokud schéma není zadané, Kusto ho pokusí odvodit automaticky, pokud už je v cílovém kontejneru úložiště definovaná rozdílová tabulka.
Dělení tabulek Delta se nepodporuje.Definujte průběžný export do této tabulky pomocí příkazů popsaných v tématu Vytvoření nebo změna průběžného exportu.
Důležité
Schéma tabulky Delta musí být synchronizované s dotazem průběžného exportu. Pokud se podkladová rozdílová tabulka změní, může se stát, že export selže s neočekávaným chováním.
Omezení
Obecné:
- V cílových tabulkách jsou povoleny následující formáty:
CSV
,TSV
,JSON
aParquet
. - Průběžný export není navržený tak, aby fungoval přes materializovaná zobrazení, protože materializované zobrazení může být aktualizováno, zatímco data exportovaná do úložiště jsou vždy připojena a nikdy aktualizována.
- Průběžný export nejde vytvořit u následných databází, protože následující databáze jsou jen pro čtení a průběžný export vyžaduje operace zápisu.
- Záznamy ve zdrojové tabulce se musí ingestovat přímo do tabulky pomocí zásad aktualizace nebo ingestování z příkazů dotazu. Pokud jsou záznamy přesunuty do tabulky pomocí rozsahů .move nebo pomocí tabulky .rename, průběžný export nemusí tyto záznamy zpracovat. Podívejte se na omezení popsaná na stránce Kurzory databáze.
- Pokud jsou artefakty používané průběžným exportem určené k aktivaci oznámení Event Gridu, prohlédnou si část známých problémů v dokumentaci ke službě Event Grid.
Mezi databázemi a mezi clustery:
- Průběžný export nepodporuje volání mezi clustery.
- Průběžný export podporuje volání mezi databázemi pouze pro tabulky dimenzí. Všechny tabulky faktů se musí nacházet v místní databázi. Další podrobnosti najdete v tématu Export z tabulek faktů a dimenzí.
- Pokud průběžný export zahrnuje volání mezi databázemi, musí být nakonfigurovaná se spravovanou identitou.
Mezi databázemi a mezi událostmi:
- Průběžný export nepodporuje volání mezi událostmi.
- Průběžný export podporuje volání mezi databázemi pouze pro tabulky dimenzí. Všechny tabulky faktů se musí nacházet v místní databázi. Další podrobnosti najdete v tématu Export z tabulek faktů a dimenzí.
Zásady:
- Průběžný export nejde povolit v tabulce se zásadami zabezpečení na úrovni řádků, pokud nejsou splněny konkrétní podmínky. Další informace najdete v tématu Průběžný export z tabulky se zabezpečením na úrovni řádků.
- Průběžný export nejde nakonfigurovat v tabulce se zásadami přístupu s omezeným zobrazením.