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. 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.
Unterstützte Autoloader-Quellen
Autoloader kann Datendateien aus den folgenden Quellen laden:
Amazon S3 (
s3://
)Azure Data Lake Storage Gen2 (ADLS Gen2,
abfss://
)Google Cloud Storage (GCS,
gs://
)Azure Blob Storage (
wasbs://
)Hinweis
Der Legacy-WASB-Treiber (Windows Azure Storage Blob) ist veraltet. ABFS hat zahlreiche Vorteile gegenüber WASB. Weitere Informationen finden Sie in der Azure-Dokumentation zu ABFS. Eine Dokumentation zum Arbeiten mit dem Legacy-WASB-Treiber finden Sie unter Herstellen einer Verbindung mit Azure Blob Storage mit WASB (Legacy).
ADLS Gen1 (
adl://
)Hinweis
Azure hat die ausstehende Einstellung von Azure Data Lake Storage Gen1 angekündigt. Databricks empfiehlt die Migration aller Daten von Azure Data Lake Storage Gen1 zu Azure Data Lake Storage Gen2. Wenn Sie noch nicht migriert haben, finden Sie weitere Informationen unter Zugreifen auf Azure Data Lake Storage Gen1 von Azure Databricks.
Databricks File System (DBFS,
dbfs:/
).
Der Autoloader kann die Dateiformate JSON
, CSV
, XML
, PARQUET
, AVRO
, ORC
, TEXT
und BINARYFILE
erfassen.
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:
- Automatische Skalierung der Computeinfrastruktur für Kosteneinsparungen
- Überprüfung der Datenqualität mit Erwartungen
- Automatische Schemaentwicklung
- Überwachung mit Metriken im Ereignisprotokoll
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.
- Schemarückschluss und -entwicklung in Auto Loader konfigurieren
- Konfigurieren des Autoloaders für Produktionsworkloads
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
- Was ist der Verzeichnisauflistungsmodus von Autoloader?
- Was ist der Dateibenachrichtrigungsmodus von Autoloader?
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.