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 také používat upozornění, kdy automatický zavaděč může identifikovat nové soubory prostřednictvím oznámení o souborech i výpisu adresářů. 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 nastavit úlohu strukturovaného Trigger.AvailableNow
streamování (k dispozici ve službě Databricks Runtime 10.4 LTS a vyšší) 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. Díky efektivním technikám zjišťování souborů a možnostem vývoje schématu automatického zavaděče se doporučuje metoda přírůstkového příjmu 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?
Pomocí Správce cloudových prostředků můžete vypsat a odbourat prostředky. 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/usage/
nebude fungovat, prod-logs/
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 automatické zavaděče odvodí schéma?
Když je datový rámec poprvé definovaný, automatický zavaděč zobrazí seznam zdrojového adresáře a zvolí nejnovější (podle času úpravy souboru) 50 GB dat nebo 1 000 souborů a použije je k odvození schématu dat.
Automatický zavaděč také odvodí sloupce oddílů prozkoumáním struktury zdrojového adresáře a vyhledá cesty k souborům, které obsahují /key=value/
strukturu. 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ěč odvodí sloupce oddílů jako prázdné. Slouží cloudFiles.partitionColumns
k explicitní analýze sloupců ze struktury adresáře.
Jak se automatický zavaděč chová, když je zdrojová složka prázdná?
Pokud je zdrojový adresář prázdný, automatický zavaděč vyžaduje, abyste zadali schéma, protože neexistují žádná data k odvozování.
Kdy autoloader odvodí schéma? Vyvíjí se automaticky po každé mikrodávce?
Schéma se odvodí při prvním definování datového rámce v kódu. Během každé mikrodávkové dávky se změny schématu vyhodnocují průběžně; proto se nemusíte starat o dosažení výkonu. Když se datový proud restartuje, převezme vyvinuté schéma z umístění schématu a začne se spouštějí bez jakýchkoli režijních nákladů z odvozování.
Jaký je dopad na výkon při používání odvození schématu automatického zavaděče při příjmu dat?
Při odvozování počátečního schématu byste měli očekávat, že odvozování schématu trvá několik minut u velmi velkých zdrojových adresářů. V opačném případě byste neměli během provádění streamu sledovat významné výsledky výkonu. Pokud kód spustíte v poznámkovém bloku Azure Databricks, uvidíte aktualizace stavu, které určují, kdy bude automatické zavaděč obsahovat váš adresář pro vzorkování a odvozování schématu dat.
Kvůli chybě se chybný soubor výrazně změnil schéma. Co mám udělat pro vrácení změny schématu?
Požádejte o pomoc podporu Databricks.