Nejčastější dotazy k automatickému zavaděče
Nejčastější dotazy týkající se automatického zavaděče Databricks
Zpracuje automatický zavaděč soubor znovu, když se soubor připojí nebo přepíše?
Soubory se zpracovávají přesně jednou, pokud cloudFiles.allowOverwrites
nejsou povolené. Když se k souboru připojíte nebo přepíšete, Azure Databricks nemůže zaručit, která verze souboru bude zpracována. Při povolování cloudFiles.allowOverwrites
v režimu oznámení souborů byste měli být také opatrní, protože where automatický zavaděč může identifikovat nové soubory prostřednictvím jak oznámení souborů, tak i výpisu adresáře. Kvůli nesrovnalostem mezi časem události oznámení souboru a časem úpravy souboru může automatický zavaděč získat dvě různá časová razítka, a proto ingestovat stejný soubor dvakrát, i když je soubor zapsán pouze jednou.
Databricks obecně doporučuje používat automatický zavaděč k ingestování pouze neměnných souborů a vyhnout se nastavení cloudFiles.allowOverwrites
. Pokud to nesplňuje vaše požadavky, obraťte se na tým účtu Azure Databricks.
Pokud datové soubory nedorazí nepřetržitě, ale v pravidelných intervalech, například jednou denně, mám tento zdroj stále používat a existují nějaké výhody?
V takovém případě můžete setTrigger.AvailableNow
(k dispozici v Databricks Runtime 10.4 LTS a vyšší) úlohu a plán strukturovaného streamování a naplánovat spuštění po očekávané době přijetí souboru. Automatický zavaděč funguje dobře s občasnými i častými aktualizacemi. I když jsou konečné aktualizace velmi velké, automatické zavaděče se správně škáluje na velikost vstupu. Efektivní techniky zjišťování souborů a evoluční schopnosti Auto Loaderu schema z něj činí doporučenou metodu pro přírůstkový příjem dat.
Co se stane, když při restartování streamu změním umístění kontrolního bodu?
Umístění kontrolního bodu udržuje důležité informace o identifikaci datového proudu. Změna umístění kontrolního bodu efektivně znamená, že jste opustili předchozí datový proud a spustili nový stream.
Musím předem vytvořit služby oznámení událostí?
Ne. Pokud zvolíte režim oznámení souboru a zadáte požadovaná oprávnění, může automaticky zavaděč vytvořit služby oznámení souborů za vás. Podívejte se, co je režim oznámení souboru automatického zavaděče?
Návody vyčistit prostředky oznámení událostí vytvořené automatickým zavaděčem?
K použití list a odstraňování prostředků lze použít Cloud Resource Manager . Tyto prostředky můžete odstranit také ručně pomocí uživatelského rozhraní nebo rozhraní API poskytovatele cloudu.
Můžu spustit více streamovaných dotazů z různých vstupních adresářů ve stejném kontejneru nebo kontejneru?
Ano, pokud nejsou adresáře nadřazené a podřízené; Například a prod-logs/
nebude fungovat, prod-logs/usage/
protože /usage
je podřízeným adresářem /prod-logs
.
Můžu tuto funkci použít, když v kontejneru nebo kontejneru existují oznámení o souborech?
Ano, pokud váš vstupní adresář není v konfliktu s existující předponou oznámení (například nad nadřazenými podřízenými adresáři).
Jak Auto Loader odvodí schema?
Při prvním definování datového rámce zobrazí auto loader váš zdrojový adresář a zvolí nejnovější (podle času úpravy souboru) 50 GB dat nebo 1 000 souborů a použije je k odvození dat schema.
Automatický načítač také odvodí partitioncolumns prozkoumáním struktury zdrojového adresáře a hledá souborové cesty, které obsahují strukturu /key=value/
. Pokud má zdrojový adresář nekonzistentní strukturu, například:
base/path/partition=1/date=2020-12-31/file1.json
// inconsistent because date and partition directories are in different orders
base/path/date=2020-12-31/partition=2/file2.json
// inconsistent because the date directory is missing
base/path/partition=3/file3.json
Automatický zavaděč považuje partitioncolumns za prázdné. Pomocí cloudFiles.partitionColumns
explicitně parsujte columns ze struktury adresáře.
Jak se automatický zavaděč chová, když je zdrojová složka prázdná?
Pokud je zdrojový adresář prázdný, Auto Loader vyžaduje, abyste zadali schema, protože neexistují žádná data pro provedení inference.
Kdy Autoloader odvodí schema? Vyvíjí se automaticky po každé mikrodávce?
schema se odvodí při prvním definování datového rámce v kódu. Během každé mikrodávky se schema změny vyhodnocují v reálném čase; proto se nemusíte starat o snížení výkonu. Když se datový proud restartuje, převezme vyvíjený schema z schema polohy a začne se spouštět bez jakýchkoli režijních nákladů spojených s odvozováním.
Jaký je dopad na výkon při zpracování dat pomocí automatického načítače schema inference?
Při počátečním schema odvozování byste měli očekávat, že schema odvozování u velmi velkých zdrojových adresářů trvá několik minut. V opačném případě byste neměli během provádění streamu sledovat významné výsledky výkonu. Pokud spustíte kód v poznámkovém bloku Azure Databricks, uvidíte aktualizace stavu, které určují, kdy bude automatický zavaděč procházet váš adresář a provádět vzorkování a odvozování dat schema.
Kvůli chybě způsobil chybný soubor výraznou změnu mého schema. Co mám udělat pro zrušení změny schema?
Požádejte o pomoc podporu Databricks.