Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Tato funkce je ve verzi Public Preview.
Seznamte se s možností automatického cloudFiles.useManagedFileEvents zavaděče, která poskytuje efektivní zjišťování souborů.
Jak funguje Auto Loader se soubory událostí?
Automatický načítač s událostmi souborů používá funkce oznámení o událostech souborů poskytované poskytovateli cloudových služeb. Kontejnery cloudového úložiště můžete nakonfigurovat tak, aby publikovaly oznámení při událostech souborů, jako je vytvoření a úprava nového souboru. Například s oznámeními událostí Amazon S3 může nový příchozí soubor vyvolat oznámení na téma Amazon SNS. Fronta Amazon SQS může být následně připojena k tématu SNS pro asynchronní zpracování události.
Následující diagram znázorňuje tento vzor:
Události souborů v Databricks jsou služba, která konfiguruje cloudové prostředky pro sledování souborových událostí. Případně si můžete cloudové prostředky nastavit sami a vytvořit vlastní frontu pro ukládání.
Po nakonfigurování cloudových prostředků služba naslouchá událostem souborů a ukládá do mezipaměti informace o metadatech souborů. Auto Loader používá tuto mezipaměť ke zjišťování souborů, když je spuštěn s nastavením cloudFiles.useManagedFileEventstrue.
Následující diagram znázorňuje tyto interakce:
Když se datový tok poprvé spustí s cloudFiles.useManagedFileEvents nastaveným na true, Auto Loader provede kompletní seznam adresářů načítací cesty, aby zjistil všechny soubory a synchronizoval aktuální mezipaměť událostí souborů (zabezpečí platnou pozici pro čtení v mezipaměti a uloží ji do kontrolního bodu toku dat). Následná spuštění Auto Loaderu objevují nové soubory přímo ze mezipaměti událostí souborů s použitím uložené pozice čtení a nevyžadují výpis adresáře.
Doporučujeme spustit datové toky automatického zavaděče alespoň jednou za 7 dní; tímto postupem můžete využít výhod postupného odhalování souborů z mezipaměti. Pokud nespustíte Automatický zavaděč alespoň tak často, stane se pozice uloženého čtení neplatnou a Automatický zavaděč musí provést úplný výpis adresáře, aby se synchronizoval s mezipamětí událostí souboru.
Kdy automatický zavaděč s událostmi souborů používá výpis adresáře?
Automatický zavaděč provede úplný výpis adresáře, když:
- Spuštění nového streamu
- Migrace datového proudu ze seznamu adresářů nebo oznámení o starších verzích souborů
- Cesta toku datového proudu se změní.
- Automatické spouštění se událostmi souborů neprobíhá po dobu delší než 7 dnů.
- Aktualizace se provádějí v externím umístění, které zneplatní čtecí pozici Auto Loaderu. Mezi příklady patří, když jsou události souborů nejprve vypnuté a pak znovu zapnuté, když se změní cesta externího umístění, nebo když je pro externí umístění zadána jiná fronta.
Auto Loader vždy provádí úplný výpis při prvním spuštění, i když includeExistingFiles je nastaven na false. Tento příznak umožňuje načíst všechny soubory, které byly vytvořeny po spuštění datového proudu. Automatický zavaděč zobrazí celý adresář, aby objevil všechny soubory vytvořené po začátku datového proudu, zajistí pozici čtení v mezipaměti událostí souborů a uloží ji do kontrolního bodu. Následná spuštění se čtou přímo z mezipaměti událostí souborů a nevyžadují výpis adresáře.
Služba událostí souborů Databricks také pravidelně provádí výpisy úplných adresářů na externím umístění, aby ověřila, že jí neunikly žádné soubory (například pokud je zadaná fronta chybně nakonfigurovaná). První kompletní výpisy adresářů začínají hned poté, co jsou události souborů povoleny v externím umístění. Následné výpisy se provádějí pravidelně, pokud je k dispozici alespoň jeden stream Auto Loaderu, který k načítání dat používá události souborů.
Osvědčené postupy pro Auto Loader s událostmi souborů
Při použití Auto Loaderu s událostmi souborů dodržujte tyto osvědčené postupy k optimalizaci výkonu a spolehlivosti.
Použití svazků pro optimální zjišťování souborů
Pro vyšší výkon doporučuje Databricks vytvořit externí svazek pro každou cestu nebo podadresář, ze kterého Auto Loader přímo načítá data, a zadat cesty svazku (například /Volumes/someCatalog/someSchema/someVolume) do Auto Loaderu místo cloudových cest (například s3://bucket/path/to/volume). Tím se optimalizuje zjišťování souborů, protože Auto Loader dokáže vypsat objem dat pomocí optimalizovaného vzoru přístupu k datům.
Zvažte triggery přijetí souborů pro kanály řízené událostmi.
Při zpracování dat řízených událostmi zvažte použití triggeru přijetí souboru místo průběžného kanálu. Při příchodu nových souborů se automaticky spouští váš datový tok, což zajišťuje efektivnější využití prostředků a úsporu nákladů, protože cluster se spouští jen tehdy, když je potřeba zpracovat nové soubory.
Konfigurujte vhodné intervaly s nepřetržitými spouštěči
Doporučujeme použít triggery pro příjem souborů k zpracování souborů ihned po jejich příchodu. Pokud ale váš případ použití vyžaduje použití průběžných aktivačních událostí, jako je Trigger.ProcessingTime, doporučujeme nakonfigurovat intervaly triggerů na 1 minute nebo vyšší (nastavené pomocí pipelines.trigger.interval při použití deklarativních kanálů Lakeflow Spark). Tím se sníží frekvence dotazování, aby se zkontrolovalo, jestli byly doručeny nové soubory, a umožňuje spuštění většího počtu datových proudů souběžně z vašeho pracovního prostoru.
Omezení funkcionality Auto Loaderu při událostech souborů
- Přepisy cest nejsou podporovány. Přepisy cest se používají, když je v DBFS připojeno více kbelíků nebo kontejnerů, což je zastaralý vzor použití.
Obecný seznam omezení událostí souborů najdete v tématu Omezení událostí souborů.
Nejčastější dotazy
Najděte odpovědi na časté dotazy o automatickém zavaděči se souborovými událostmi.
Jak ověřím, že jsou správně nastavené události souboru?
Klikněte na tlačítko Test připojení na stránce externího umístění. Pokud jsou události souborů správně nastavené, zobrazí se zelená značka zaškrtnutí u položky čtení událostí souboru . Pokud jste právě vytvořili externí umístění a povolili události souborů v Automatic režimu, test se zobrazuje Skipped zatímco Databricks nastavuje oznámení pro externí umístění. Počkejte několik minut a pak znovu klikněte na test připojení . Pokud Databricks nemá požadovaná oprávnění k nastavení nebo čtení z událostí souboru, zobrazí se chyba u položky čtení událostí souboru .
Můžu se vyhnout výpisu úplného adresáře během počátečního spuštění?
Ne. I když je includeExistingFiles nastavena na false, Auto Loader provádí výpis adresáře, aby zjistil soubory vytvořené po spuštění datového proudu a synchronizoval se s mezipamětí událostí souborů (zajistil platnou pozici čtení v mezipaměti a uložil ji do kontrolního bodu datového proudu).
Mám nastavit cloudFiles.backfillInterval , aby se zabránilo chybějícím souborům?
Ne. Toto nastavení se doporučilo pro starší režim oznámení souborů, protože systémy oznámení cloudového úložiště by mohly způsobit zmeškané nebo zpožděné příchozí soubory. Databricks teď pravidelně provádí výpisy celých adresářů na externím umístění. První kompletní výpisy adresářů začínají hned poté, co jsou události souborů povoleny v externím umístění. Další výpisy se provádějí pravidelně, pokud existuje alespoň jeden datový proud Auto Loader, který k příjmu dat používá události souborů.
Nastavil(a) jsem události souborů se zadanou frontou úložiště, ale fronta byla chybně nakonfigurovaná a zmeškaly se mi soubory. Jak zajistím, aby Auto Loader zpracoval soubory, které byly vynechány kvůli nesprávné konfiguraci fronty?
Nejprve ověřte, že je opravena chybně nakonfigurovaná fronta. Zkontrolujte to tak, že kliknete na tlačítko Test připojení na stránce externího umístění. Pokud jsou události souborů správně nastavené, zobrazí se zelená značka zaškrtnutí u položky čtení událostí souboru .
Databricks provádí úplný výpis adresáře pro externí umístění s povolenými událostmi souborů. Tento seznam adresářů zjistí všechny soubory, které byly zmeškané během období chybné konfigurace, a uloží je do mezipaměti událostí souborů.
Jakmile je chybná konfigurace opravena a Databricks dokončí výpis adresáře, auto loader bude dál číst z mezipaměti událostí souborů a automaticky ingestovat všechny soubory zmeškané během období chybné konfigurace.
Jakým způsobem Databricks získává oprávnění k vytváření cloudových prostředků a k čtení a odstraňování zpráv z fronty?
Databricks používá oprávnění udělená v přihlašovacích údajích úložiště přidružených k externímu umístění, ve kterém jsou povolené události souboru.