Co je automatický zavaděč?

Auto Loader postupně a efektivně zpracovává nové datové soubory, jakmile dorazí do cloudového úložiště, bez jakéhokoli dalšího nastavení.

Jak Auto Loader funguje?

Automatický zavaděč postupně a efektivně zpracovává nové datové soubory, jakmile dorazí do cloudového úložiště. Poskytuje zdroj strukturovaného streamování s názvem cloudFiles. S ohledem na zadanou cestu k adresáři na cloudovém úložišti zdroj automaticky zpracovává nové soubory, jakmile dorazí, s možností zpracování i již existujících souborů v tomto adresáři. Auto Loader podporuje Python i SQL v kanálech Lakeflow.

Pomocí Auto Loader můžete zpracovat miliardy souborů k migraci nebo doplnění tabulky. Automatické zavaděče se škáluje tak, aby podporovalo příjem milionů souborů téměř v reálném čase za hodinu.

Podporované zdroje automatického zavaděče

Autoload může načíst datové soubory z následujících zdrojů:

  • Amazon S3 (s3://)

  • Azure Data Lake Storage (ADLS, abfss://)

  • Google Cloud Storage (GCS, gs://)

  • Svazky katalogu Unity (/Volumes/)

  • Azure Blob Storage (wasbs://)

    Note

    Starší verze ovladače Windows Azure Storage objektu blob (WASB) je zastaralá. ABFS má oproti WASB řadu výhod. Podívejte se na Azure dokumentaci k ABFS. Dokumentaci pro práci se starším ovladačem WASB najdete v tématu Pojení k Azure Blob Storage pomocí WASB (starší verze) .

Automatický zavaděč může zpracovávat JSON, CSV, XML, PARQUET, AVRO, ORC, TEXT a BINARYFILE formáty souborů. Auto Loader také podporuje čtení předem komprimovaných souborů v těchto formátech. Podporované typy komprese podle formátu najdete v tématu Možnosti formátu dat.

Jak Automatický Nahrávač sleduje průběh zpracování?

Při zjištění souborů se metadata ukládají ve škálovatelném úložišti klíč-hodnota (RocksDB) v umístění kontrolního bodu vašeho kanálu Auto Loader. Toto úložiště klíč-hodnota zajišťuje, aby se data zpracovávala přesně jednou.

V případě selhání může Automatický zavaděč pokračovat z místa, kde skončil, s využitím informací uložených v umístění kontrolního bodu a při zápisu dat do Delta Lake dál zajišťovat záruky přesně jednou. Abyste dosáhli odolnosti proti chybám nebo sémantiky přesně jednou, nemusíte sami udržovat ani spravovat žádný stav.

Přírůstkové ingestování s využitím automatického zavaděče s kanály Lakeflow

Databricks doporučuje v pipelinech Lakeflow používat Auto Loader pro inkrementální ingesti dat. Nemusíte zadávat schéma ani umístění kontrolního bodu, protože kanály Lakeflow tato nastavení automaticky spravují pro vaše kanály. Viz Konfigurace automatického zavaděče pro produkční úlohy pro doporučenou konfiguraci.

Databricks také doporučuje použít Auto Loader při každém používání strukturovaného streamování Apache Spark pro načítání dat z cloudového úložiště objektů. Rozhraní API jsou dostupná v jazycích Python a Scala.

Začínáme s Databricks Auto Loaderem

V následujících článcích najdete informace o tom, jak začít s konfigurací přírůstkového ingestování dat pomocí nástroje Auto Loader s kanály Lakeflow:

Příklady: Běžné vzory automatického zavaděče

Příklady běžných šablon Auto Loader najdete v Běžné šablony načítání dat.

Konfigurace možností automatického zavaděče

Úplný přehled možností konfigurace, které určují, jak Auto Loader čte a zpracovává soubory, najdete v tématu Auto Loader.

Přizpůsobení automatického zavaděče

Automatický zavaděč můžete ladit na základě objemu, různorodosti a rychlosti dat.

Pokud narazíte na neočekávané chování, přečtěte si časté dotazy k Auto Loaderu.

Konfigurace režimů detekce souborů pro automatický zavaděč

Automatický načítač podporuje dva režimy detekce souborů. Ve výchozím nastavení používá Auto Loader režim seznamu adresářů. Databricks však doporučuje režim oznámení souborů pomocí událostí souborů pro většinu úloh. See:

Zpracování dat mimo pořadí

Auto Loader nezaručuje pořadí, ve kterém jsou soubory zjištěny nebo zpracovány, bez ohledu na to, zda používáte režim výpisu adresáře nebo režim oznámení o souborech. Pomocí následujících strategií navrhněte kanály tak, aby zpracovávaly doručení souborů mimo objednávku.

Kanály Lakeflow s využitím AUTO CDC

Pokud používáte kanály Lakeflow s automatickým zavaděčem a AUTO CDCnakonfigurujete uchovávání náhrobků tak, aby se odstraněné záznamy zachovaly dostatečně dlouho, aby bylo možné zpracovat doručení souborů mimo objednávku. pipelines.cdc.tombstoneGCThresholdInSeconds Nastavte vlastnost tabulky v cílové streamovací tabulce na hodnotu, která překračuje maximální očekávané zpoždění mezi doručením události a spuštěním kanálu. Výchozí uchovávání je dva dny. Podrobnosti najdete v create_auto_cdc_flow.

Strukturované streamování bez kanálů Lakeflow

Pokud používáte Apache Spark Structured Streaming přímo s Auto Loaderem (bez Lakeflow Pipelines), zvažte následující postupy pro zpracování dat doručených mimo pořadí:

  • Upřednostňujte měkké odstranění před tvrdými odstraněními: Místo odebírání řádků sledujte deleted příznak a časové razítko, aby pozdní odstranění nebylo v konfliktu s dřívějšími záznamy.
  • Porovnání časových razítek před instalací aktualizací: Při přenesení porovnejte časové razítko aktualizace příchozího záznamu s aktuálním časovým razítkem cílového řádku, abyste se vyhnuli přepsání zastaralými daty.

Výhody používání automatického zavaděče oproti přímému použití strukturovaného streamování na souborech

V Apache Sparku můžete soubory číst přírůstkově pomocí spark.readStream.format(fileFormat).load(directory). Automatický načítací modul poskytuje oproti zdroji souborů následující výhody:

  • Škálovatelnost: Auto Loader dokáže efektivně zjišťovat miliardy souborů. Obnovení je možné provádět asynchronně, aby nedocházelo k plýtvání výpočetními prostředky.
  • Výkon: Náklady na zjišťování souborů s Auto Loaderem se škálují s počtem souborů, které jsou ingestovány, místo počtu adresářů, do kterých mohou soubory uložit. Viz Konfigurace datových proudů automatického zavaděče v režimu výpisu adresáře.
  • Podpora odvozování a vývoje schématu: Auto Loader dokáže rozpoznat odchylky schématu, upozornit vás, když nastanou změny schématu, a zachránit data, která by jinak byla ignorována nebo ztracena. Viz Jak funguje odvození schématu funkce automatického načítání?.
  • Náklady: Auto Loader používá nativní cloudová rozhraní API k získání seznamů souborů, které existují v úložišti. Kromě toho může režim oznámení souborů Auto Loaderu pomoct ještě více snížit náklady na cloud tím, že se úplně vyhne výpisu adresáře. Auto Loader může automaticky nastavit služby upozornění na soubory v úložišti, aby bylo zjišťování souborů mnohem levnější.