Automatisches Laden

Autoloader verarbeitet neue Datendateien inkrementell und effizient, sobald sie im Cloudspeicher eingehen, ohne zusätzliche Einrichtung.

Funktionsweise des Autoloaders

Der Autoloader verarbeitet neue Datendateien inkrementell und effizient, sobald sie im Cloudspeicher empfangen werden. Der Autoloader kann Datendateien aus AWS S3 (s3://), Azure Data Lake Storage Gen2 (ADLS Gen2, abfss://), Google Cloud Storage (GCS, gs://), Azure Blob Storage (wasbs://), ADLS Gen1 (adl://) und dem Databricks File System (DBFS, dbfs:/) laden. Der Autoloader kann die Dateiformate JSON, CSV, XML, PARQUET, AVRO, ORC, TEXT und BINARYFILE erfassen.

Hinweis

Der Autoloader stellt eine strukturierte Streamingquelle namens cloudFiles bereit. Mithilfe eines Eingabeverzeichnispfads im Clouddateispeicher verarbeitet die cloudFiles-Quelle automatisch neue Dateien, sobald diese eingehen. Dabei können auch bereits vorhandene Dateien in diesem Verzeichnis verarbeitet werden. Der Autoloader unterstützt sowohl Python als auch SQL in Delta Live Tables.

Sie können den Autoloader verwenden, um Milliarden von Dateien zu verarbeiten, um eine Tabelle zu migrieren oder abzugleichen. Der Autoloader führt eine Skalierung durch, um die Erfassung von Millionen von Dateien pro Stunde in Quasi-Echtzeit zu unterstützen.

Wie verfolgt Autoloader den Erfassungsfortschritt nach?

Wenn Dateien ermittelt werden, werden ihre Metadaten in einem skalierbaren Schlüssel-Wert-Speicher (RocksDB) am Prüfpunktspeicherort Ihrer Autoloader-Pipeline gespeichert. Dieser Schlüssel-Wert-Speicher stellt sicher, dass Daten genau einmal verarbeitet werden.

Bei Ausfällen kann der Autoloader von dort aus fortgesetzt werden, wo er durch Informationen aufgehört hat, die am Prüfpunktspeicherort gespeichert sind, und weiterhin Genau-ein-Mal-Garantien bieten, wenn Daten in Delta Lake geschrieben werden. Sie müssen keinen Zustand selbst pflegen oder verwalten, um Fehlertoleranz oder Genau-ein-Mal-Semantik zu erreichen.

Inkrementelle Erfassung über Auto Loader mit Delta Live Tables

Databricks empfiehlt Auto Loader in Delta Live Tables für die inkrementelle Datenerfassung. Delta Live Tables erweitert die Funktionalität von Apache Spark Structured Streaming und ermöglicht Ihnen, mit nur wenigen deklarativen Python- oder SQL-Codezeilen eine Datenpipeline auf Produktionsniveau zu schreiben:

Sie müssen keinen Schema- oder Prüfpunktspeicherort bereitstellen, da Delta Live Tables diese Einstellungen für Ihre Pipelines automatisch verwaltet. Siehe Laden von Daten mit Delta Live Tables.

Databricks empfiehlt Auto Loader außerdem immer dann, wenn Sie Apache Spark Structured Streaming zum Erfassen von Daten aus Cloudobjektspeichern verwenden. APIs sind für Python und Scala verfügbar.

Erste Schritte mit Databricks Auto Loader

Lesen Sie die folgenden Artikel, um mit dem Konfigurieren der inkrementellen Datenerfassung über Auto Loader mit Delta Live Tables zu beginnen:

Beispiele: Allgemeine Auto Loader-Muster

Beispiele für allgemeine Auto Loader-Muster finden Sie unter Allgemeine Muster zum Laden von Daten.

Konfigurieren von Optionen für den Autoloader

Sie können den Autoloader basierend auf Datenvolumen, Vielfalt und Geschwindigkeit optimieren.

Eine vollständige Liste der Optionen für den Autoloader finden Sie unter:

Wenn es zu unerwarteter Leistung kommt, lesen Sie die häufig gestellten Fragen.

Konfigurieren der Dateierkennungsmodi von Autoloader

Autoloader unterstützt zwei Dateierkennungsmodi. Thema

Vorteile von Auto Loader gegenüber der Verwendung von strukturiertem Streaming direkt auf Dateien

In Apache Spark können Sie Dateien mithilfe von spark.readStream.format(fileFormat).load(directory) inkrementell einlesen. Der Autoloader bietet gegenüber der Dateiquelle die folgenden Vorteile:

  • Skalierbarkeit: Der Autoloader ist in der Lage, Milliarden von Dateien effizient zu erkennen. Die Durchführung eines Abgleichs kann asynchron erfolgen, um keine Computeressourcen zu verschwenden.
  • Leistung: Die Kosten für das Ermitteln von Dateien mit dem Autoloader steigen mit der Anzahl der erfassten Dateien und nicht mit der Anzahl von Verzeichnissen, in denen sich die Dateien befinden können. Siehe Was ist der Verzeichnisauflistungsmodus von Autoloader?.
  • Unterstützung von Schemarückschluss und -entwicklung: Der Autoloader kann Schemaabweichungen erkennen, Sie bei Schemaänderungen benachrichtigen und Daten retten, die andernfalls ignoriert worden oder verloren gegangen wären. Siehe Funktionsweise des Autoloader-Schemarückschlusses.
  • Kosten: Der Autoloader verwendet native Cloud-APIs, um Listen von Dateien abzurufen, die im Speicher vorhanden sind. Darüber hinaus kann der Dateibenachrichtigungsmodus des Autoloaders dazu beitragen, Ihre Cloudkosten weiter zu senken, indem er das Auflisten von Verzeichnissen insgesamt vermeidet. Der Autoloader kann automatisch Dateibenachrichtigungsdienste für den Speicher einrichten, um die Dateiermittlung wesentlich kostengünstiger zu gestalten.