Auto Loader von Databricks

Databricks Auto Loader ist eine optimierte Dateischnittstelle, die automatisch inkrementelle Datenladungen aus Ihrem Cloud-Speicher durchführen kann, um die geladenen Daten dann in Delta Lake Tables abzuspeichern.

Wie genau der Databricks Auto Loader funktioniert erfahren Sie in diesem Artikel.

Was ist der Databricks Auto Loader?

Databricks Auto Loader ist eine Funktion, die es uns ermöglicht, schnell Daten von Azure Storage, AWS S3 oder GCP Storage zu importieren. Sie nutzt Structured Streaming und Checkpoints, um Dateien zu verarbeiten und den Status der Verarbeitung zu tracken, wenn diese in einem bestimmten Verzeichnis erscheinen.

Mit Auto Loader können Sie Milliarden von Dateien verarbeiten, um eine Tabelle zu migrieren oder anzureichern. Dabei ist er skalierbar und unterstützt die Aufnahme von Millionen von Dateien pro Stunde nahezu in Echtzeit. Der Dienst verarbeitet neue Data Files nacheinander und effizient sobald diese in dem Cloud-Speicher ankommen. 

Unter anderem lädt Auto Loader folgende Formate:

  • AWS S3 (s3://)
  • Azure Data Lake Storage Gen2 (ADLS Gen2, abfss://)
  • Google Cloud Storage (GCS, gs://)
  • Azure Blob Storage (wasbs://)
  • ADLS Gen2 (adl://)
  • Databricks File System (DBFS, dbfs:/)

Außerdem kann Auto Loader sowohl JSON als auch CSV, PARQUET, AVRO, ORC, TEXT und BINARYFILE Dateiformate übernehmen. 

Die Funktion von Databricks bietet eine strukturierte Streaming-Quelle namens CloudFiles. Anhand eines Eingabeverzeichnisses auf dem Cloud-Dateispeicher verarbeitet die CloudFiles-Quelle automatisch neue Dateien, sobald sie ankommen, mit der Option, auch vorhandene Dateien in diesem Verzeichnis zu verarbeiten. Auto Loader unterstützt sowohl Python als auch SQL in Delta Live Tables. 

Wieso Auto Loader? Weil herkömmliches Streaming Data allmählich an sein Grenzen kommt. Wir zeigen Ihnen im folgenden Abschnitt wieso.

Sie sehen gerade einen Platzhalterinhalt von Youtube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen
Der Databricks Autoloader einfach in einem kurzen Video erklärt.

Was sind die Herausforderungen von Streaming Data?

Streaming Data bringt eine Menge Herausforderungen in der Anwendung mit sich. Die wichtigsten Punkte halten wir für Sie in folgender Tabelle fest:

HerausforderungErklärung
DatenvolumenDie Menge und Geschwindigkeit der Daten müssen bei kontinuierlicher Verarbeitung des Datenstroms berücksichtigt werden.
Die Komplexität der ArchitekturSysteme zur Verarbeitung von Datenströmen sind häufig verteilt und müssen eine große Anzahl gleichzeitiger Verbindungen und Datenquellen verarbeiten können.
Die Dynamik von DatenströmenStream-Processing Systeme müssen aufgrund der dynamischen Natur von Datenströmen anpassungsfähig sein, um mit Konzeptabweichungen umzugehen. Nicht jede Datenverarbeitungsmethode ist hier geeignet.
Die AbfrageverarbeitungDas Datenverarbeitungssystem muss in der Lage sein, mehrere stehende Abfragen über eine Gruppe von Eingabedatenströmen zu verarbeiten. Dabei stellen die Speichermenge und der Abfrageprozessor große Herausforderungen dar.
Die Herausforderungen von Streaming Data.

Sie möchten sich intensiver mit dem Thema Streaming Daten und ihren Herausforderungen beschäftigen? Dann sind Sie bei unserem Artikel zu Streaming Daten genau richtig.

Wie funktioniert der Auto Loader?

Wenn neue Dateien aus den Quellen angeliefert werden, werden ihre Metadaten in einem skalierbaren Key-Value-Speicher (RocksDB) am Kontrollpunkt Ihrer Auto Loader-Pipeline gespeichert. 

Dieser Schlüsselwertspeicher stellt sicher, dass die Daten genau einmal verarbeitet werden.

Im Falle von Fehlern kann Auto Loader anhand der im Prüfpunkt gespeicherten Informationen an der Stelle fortfahren, an der er unterbrochen wurde, und beim Schreiben von Daten in Delta Lake weiterhin die exakte einmalige Verarbeitung gewährleisten. 

Um Fehlertoleranz oder Exact-once-Semantik zu erreichen, müssen Sie selbst keinen Zustand pflegen oder verwalten.

Wie Auto Loader das gewährleistet?

  1. Auto Loader speichert Metadaten über gelesene Daten.
  2. Es verwendet strukturiertes Streaming für eine sofortige Verarbeitung.
  3. Databricks Auto Loader nutzt Cloud-native Komponenten zur Optimierung der Erkennung ankommender Dateien.

Sehen wir uns nun an, wie Auto Loader aufgebaut ist.

Was sind die Komponenten des Auto Loaders?

Auto Loader bietet eine strukturierte Streaming-Quelle namens cloudFiles, von der aus Daten in den Delta Lake geladen werden (siehe folgende Grafik). Bei einem Eingabeverzeichnispfad im Cloud-Dateispeicher (Cloud Storage) verarbeitet die cloudFiles-Quelle automatisch neue Dateien, sobald sie ankommen. Zusätzlich bietet Auto Loader die Option auch vorhandene Dateien in diesem Verzeichnis zu verarbeiten. Für die Datenerkennung nutzt Auto Loader zwei Modi, die wir Ihnen im Folgenden vorstellen.

Der Auto Loader von Databricks besteht aus den zwei Modi Directory Lifting und File Notification Mode. Durch den Autoloader werden Daten strukturiert in den Delta Lake geladen.

Auto Loader unterstützt zwei Modi der Dateierkennung:

  1. Den Directory Listing Mode
  2. Den File Notification Mode

Sehen wir uns nun die beiden Modi genauer an.

Directory Listing Mode (vier Fakten):

  1. Der Auto Loader findet neue Dateien im Directory Listing Mode (Verzeichnislistenmodus), indem er das Eingabeverzeichnis auflistet. Mit Ausnahme des Zugriffs auf Ihre Daten auf dem Cloud-Speicher ermöglicht Ihnen der Directory Listing Mode ein schnelles Starten von Auto Loader-Streams. 
  2. Auto Loader kann in Databricks Runtime 9.1 und höher automatisch feststellen, ob Dateien in Ihrem Cloud-Speicher mit lexikalischer Ordnung ankommen. Dadurch wird die Anzahl der API-Aufrufe, die zum Auffinden neuer Dateien erforderlich sind, drastisch reduziert. 
  3. Directory Lists ermöglichen es dem Web-Benutzer, die meisten (wenn nicht alle) Dateien in einem Verzeichnis zu sehen, ebenso wie alle untergeordneten Unterverzeichnisse, trotz kleiner Informationslecks. 
  4. Verzeichnislisten bieten einen viel offeneren Zugang als das „geführte“ Durchsuchen einer Sammlung von vorbereiteten Seiten. Selbst ein unbedarfter Webbrowser könnte Zugang zu Dateien erhalten, die der Öffentlichkeit nicht zugänglich gemacht werden sollten. Das hängt von einer Reihe von Variablen ab, u. a. von den Rechten der Dateien und Verzeichnisse sowie von den Einstellungen des Servers für autorisierte Dateien.

File Notification Mode:

In Ihrem Cloud-Infrastrukturkonto werden Dateibenachrichtigungs- und Warteschlangendienste im File Notification Mode (Dateibenachrichtigungsmodus) verwendet. Ein Benachrichtigungsdienst und ein Warteschlangen-Dienst – welche Dateiereignisse aus dem Eingabeverzeichnis abonnieren – können von Auto Loader automatisch eingerichtet werden. 

Für große Eingabeverzeichnisse oder ein hohes Dateivolumen ist der Dateibenachrichtigungsmodus (Directory Listing Mode) effizienter und skalierbarer, erfordert aber zusätzliche Cloud-Berechtigungen für die Einrichtung. Für eine bessere Skalierbarkeit und schnellere Leistung (wenn Ihr Verzeichnis wächst) sollten Sie den File Notification Mode nutzen.

Was sind die Vorteile von Auto Loader?

Auto Loader bringt im Vergleich zu Data Streaming viele Vorteile in der Anwendung. Wir sehen uns nun die Top 3 Vorteile von Auto Loader an.

  1. Keine eigene Buchhaltung: Neue Daten werden Inkrementell verarbeitet, sobald sie im Objektspeicher ankommen. Die Kunden müssen keine Statusinformationen darüber verwalten, welche Dateien angekommen sind.
  2. Skalierbar: Neu eingetroffene Daten werden vom Auto Loader effizient verfolgt. Das gewährleistet die Nutzung von Cloud-Benachrichtigungs- und Warteschlangendiensten, ohne alle Dateien in einem Verzeichnis auflisten zu müssen. Somit bietet Auto Loader Skalierbarkeit für die Verarbeitung von Millionen von Dateien in einem Verzeichnis.
  3. Einfach zu benutzen: Auto Loader richtet automatisch die erforderlichen Cloud-Benachrichtigungs- und Warteschlangen-Dienste ein.

Die verwendeten Delta Tabellen (siehe folgende Grafik) im Auto Loader bringen ebenfalls verschiedene Vorteile für die erfolgreiche Datenverarbeitung mit. 

Der Delta Lake besteht aus drei Tabellen-Arten und nimmt Daten durch Streaming und Batch auf. Die Daten werden durch die Tabellen geordnet und sind schließlich zum Abruf für Analytics und Machine Learning bereit.
Der Aufbau des Delta Lake.

Unter anderem bietet Delta Lake folgende Vorteile:

  • ACID-konform. 
  • Skalierbarer Speicher sowie skalierbare Metadaten.
  • Vereinheitlichung von Batch- und Stream-Verarbeitung. 
  • Zeitreise basierend auf automatischer Versionierung und Zeitstempel.
  • Upserts & Deltes mit Merge-Befehlen.

Benötigen Sie Unterstützung?

Wir sind offizieller Databricks Partner und helfen Ihnen bei Herausforderungen rund um das Thema Databricks.

Databricks Beratung

Damit Sie sich die Verwendung von Auto Loader besser vorstellen können, folgt hier eine Auto Loader Beispiel-Syntax.

Wie sieht eine beispiel-Syntax für Auto Loader aus?

spark.readStream
.format("cloudFiles")
.option("cloudFiles.format", "json")
.option("cloudFiles.schemaLocation", checkpoint_path)
.load(file_path)
.select("*", input_file_name().alias("source_file"), current_timestamp().alias("processing_time"))
.writeStream
.option("checkpointLocation", checkpoint_path)
.trigger(availableNow=True)
.toTable(tabelle_name))

Unter dem folgenden Link finden Sie eine Demo zu dem Databricks Notebook: Databricks Notebook

Fazit

Es gibt einige Herausforderungen beim Data Streaming, die Sie beachten sollten. Diese lassen sich mit Auto Loader von Databricks lösen. Auto Loader ermöglicht Skalierbarkeit, ACID-Compliance, eine verbesserte Leistung, ist kosteneffizient und Benutzerfreundlich. Die Auto Loader Konfigurationen lassen sich problemlos konfigurieren und sind je nach Anwendungsfall individuell anpassbar . Es erkennt Änderungen in den Daten (z.B. das Hinzufügen neuer Spalten) und unterstützt Data Ingestion für verschiedene Dateiformate.

Wenn Sie mehr zum Thema Auto Loader erfahren möchten, beraten wir Sie als offizieller Databricks Partner gerne. Kontaktieren Sie uns.

FAQ: Die wichtigsten Fragen schnell beantwortet

Was sind typische Herausforderungen von Streaming Data?

Die größte Schwierigkeit bei der Verarbeitung von Data Streaming liegt in der schieren Menge und Geschwindigkeit der Daten, die in Echtzeit verarbeitet werden müssen. Rahmenwerke und Architekturen für die Verarbeitung von Datenströmen müssen einen kontinuierlichen Datenstrom verarbeiten, der sehr umfangreich sein und aus verschiedenen Quellen stammen kann.

Was ist Databricks Auto Loader?

Databricks Auto Loader ist eine optimierte Dateiquelle, die automatisch inkrementelle Datenladungen aus Ihrem Cloud-Speicher durchführen kann, sobald diese in den Delta Lake Tables ankommen. Der Auto Loader präsentiert eine neue strukturierte Streaming-Quelle namens cloudFiles.

Was sind die Vorteile von Auto Loader?

Auto Loader von Databricks bietet unter anderem folgende Vorteile:
·      Skalierbarkeit: Auto Loader verwendet native Cloud-APIs, um Listen der im Speicher vorhandenen Dateien abzurufen.
·      Leistung: Auto Loader kann effizient Milliarden von Dateien erkennen. 
·      Unterstützung für Schema-Inferenz und -Entwicklung: Auto Loader kann Schemaabweichungen erkennen, Sie bei Schemaänderungen benachrichtigen und Daten retten, die sonst ignoriert worden wären oder verloren gegangen wären.
·      Kosten: Die Kosten für die Erkennung von Dateien mit Auto Loader skalieren mit der Anzahl der Dateien, die aufgenommen werden.

Profilbild von Vinzent Wuttke Leiter Business Development Datasolut GmbH
Vinzent Wuttke
Leiter Business
 Development

Ihr Ansprechpartner

Ob und wie künstliche Intelligenz Ihnen weiterhelfen kann, können Sie in einem ersten, unverbindlichen Gespräch mit uns herausfinden.

In diesem Gespräch erfahren Sie:

  • Wie Ihr Use-Case technisch am besten umgesetzt werden kann
  • Wie wir maximal sicher mit Ihren Kundendaten umgehen
  • Wie lange wir für die Umsetzung benötigen und wie ein konkreter Projektplan aussehen könnte
Jetzt Erstgespräch vereinbaren

Weiterlesen

Big Data Vor 3 Monaten

Streaming Daten: Einführung und Überblick wichtiger Frameworks

Streaming-Daten sind Daten, die mit einem Streaming-Framework in „Echtzeit“ verarbeitet werden. Der Unterschied zur reinen Nachrichtenverarbeitung besteht darin, dass komplexe Operationen (Aggregationen, Joins, etc.) auf den Datenströmen durchgeführt werden können. […]
Big Data Word Cloud
Big Data Vor 3 Monaten

Was ist Big Data? Definition, 4 V’s und Technologie

Big Data ist ein wichtiger Business-Trend und schafft für viele Unternehmen enormen Mehrwert. Big Data ermöglicht die Speicherung, Verarbeitung und Analyse großer Datenmengen. Spezielle Technologien ermöglichen die Verarbeitung von Datenmengen, […]
Snowflake Architekturskizze
Data Engineering Grundlagen Vor 4 Monaten

Was ist Snowflake? Architektur, Vorteile, Kosten

Snowflake ist eine Cloud-basierte Datenplattform, die Unternehmen bei der Speicherung, Verwaltung und Analyse großer Datenmengen unterstützt. Die Datenplattform wurde speziell für die Verarbeitung von Big Data entwickelt und ermöglicht es […]
Big Data Vor 4 Monaten

Hadoop einfach erklärt!

Apache Hadoop ist eine verteilte Big Data Plattform, die von Google basierend auf dem Map-Reduce Algorithmus entwickelt wurde, um rechenintensive Prozesse bis zu mehreren Petabytes zu erledigen. Hadoop ist eines […]
Grafik zeigt vier Säulen des Data Mesh: Domain Ownership, Data as a Product, Self-Service Datenplattform, Federated Governance.
Big Data Vor 5 Monaten

Was bedeutet Data Mesh? – Data Mesh-Architektur erklärt

Was ist eigentlich Data Mesh und wofür wird es verwendet? In diesem Artikel erläutern wir Ihnen die Grundprinzipien von Data Mesh und wie diese in der Praxis umgesetzt werden. Anhand […]
Big DataData Engineering GrundlagenDatabricks Vor 6 Monaten

Snowflake vs. Databricks: Wer hat die Oberhand?

Was ist der Unterschied zwischen Databricks und Snowflake? Dieser Frage stellen wir uns und geben einen ausführlichen Vergleich. Kaum ein Unternehmen kommt heute ohne Datenanalyse ans Ziel. Der Wettbewerb auf […]
Big DataDatabricks Vor 8 Monaten

Der Data Lakehouse Ansatz – eine moderne Cloud-Datenplattform 

Ein Data Lakehouse-Ansatz bietet die Flexibilität und Skalierbarkeit eines Data Lakes in Kombination mit hoher Datenqualität, Transaktionssicherheit und vereinfachter und vereinheitlichter Verwaltung bzw. Governance des Data Warehouse. Der Data Lakehouse […]
Big Data Vor 1 Jahr

Data Warehouse vs. Data Lake: Gemeinsamkeiten und Unterschiede

Was unterscheidet eigentlich ein Data Warehouse von einem Data Lake? Diese Frage soll hier beantwortet werden. Beide Konzepte stellen Speichermöglichkeiten für die verschiedenen Daten eines Unternehmens dar, sind aber grundsätzlich […]
Die Datenplattform besteht aus einem Data Lake, welcher Rohdaten und durch den ETL-Prozess in verarbeitete Daten umwandelt. Dafür werden bestimmte Tools verwendet. Einmal verarbeitet, kann Mehrwert aus den Daten gezogen werden.
Big Data Vor 1 Jahr

Was ist ein Data Lake?

Ein Data Lake ist ein zentrales Repository für eine unbegrenzte Menge von strukturierten, semistrukturierten und unstrukturierten Daten in ihrer Rohform. In diesem Beitrag erklären wir, was der Data Lake ist, […]
Newsletter und Updates

Sie sehen gerade einen Platzhalterinhalt von HubSpot. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen
Erstgespräch vereinbaren