Freigeben über


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. Auto Loader unterstützt sowohl Python als auch SQL in DLT.

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 Quellen zum automatischen Laden

Autoloader kann Datendateien aus den folgenden Quellen laden:

  • Amazon S3 (s3://)

  • Azure Data Lake Storage (ADLS, 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).

  • Databricks File System (DBFS, dbfs:/).

Der Autoloader kann die Dateiformate JSON, CSV, XML, PARQUET, AVRO, ORC, TEXT und BINARYFILE erfassen.

Wie verfolgt das automatische Laden 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 das automatische Laden durch Informationen, die am Prüfpunktspeicherort gespeichert sind, von dort aus fortgesetzt werden, wo es unterbrochen wurde, und weiterhin Garantien des Typs „Genau einmal“ bieten, wenn Daten in Delta Lake geschrieben werden. Sie müssen keinen Zustand selbst verwalten, um Fehlertoleranz oder Genau-einmal-Semantik zu erreichen.

Inkrementelle Erfassung über das automatische Laden mit DLT

Databricks empfiehlt auto Loader in DLT für die inkrementelle Datenaufnahme. DLT 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üfpunktstandort angeben, da DLT diese Einstellungen für Ihre Pipelines automatisch übernimmt. Weitere Informationen finden Sie unter Laden von Daten mit DLT.

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 Datenaufnahme mithilfe von Auto Loader mit DLT zu beginnen:

Beispiele: allgemeine Muster für das automatische Laden

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. Siehe:

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. Nachfüllungen können asynchron erfolgen, um keine Rechenressourcen 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: Das automatische Laden kann Schemaabweichungen erkennen, Sie bei Schemaänderungen benachrichtigen und Daten retten, die andernfalls ignoriert worden oder verloren gegangen wären. Siehe Wie funktioniert die Schemaerkennung von Auto Loader?.
  • Kosten: Der Autoloader verwendet native Cloud-APIs, um Listen von Dateien abzurufen, die im Speicher vorhanden sind. Darüber hinaus kann der Dateibenachrichtigungsmodus des Auto Loaders dazu beitragen, die Cloud-Kosten weiter zu reduzieren, indem Verzeichnislisten komplett vermieden werden. Der Autoloader kann automatisch Dateibenachrichtigungsdienste für den Speicher einrichten, um die Dateiermittlung wesentlich kostengünstiger zu gestalten.