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 má podporu pro Python i SQL v deklarativních kanálech Sparku v 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ů.

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ý příjem dat s použitím Auto Loader a deklarativních pipeline Spark pro Lakeflow

Databricks doporučuje Auto Loader v deklarativních kanálech Lakeflow Spark pro přírůstkové zpracování dat. Nemusíte zadávat schéma ani umístění kontrolního bodu, protože deklarativní kanály Sparku Lakeflow automaticky spravují tato nastavení 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 se dozvíte, jak začít s konfigurací přírůstkového příjmu dat pomocí Auto Loader s Deklarativními kanály Lakeflow Spark:

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

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

Úplný seznam možností Auto Loaderu najdete v tématu Možnosti Auto Loaderu. Pokud narazíte na neočekávaný výkon, podívejte se na nejčastější dotazy.

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

Automatický načítač podporuje dva režimy detekce souborů. 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.

Deklarativní kanály Lakeflow Spark s AUTO CDC

Pokud používáte deklarativní kanály Sparku 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 Lakeflow Spark deklarativních kanálů.

Pokud používáte Apache Spark Structured Streaming přímo s Auto Loaderem (bez deklarativních kanálů Sparku Lakeflow), zvažte následující strategie pro zpracování neřádně seřazených dat.

  • 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ší.