Freigeben über


Lakeflow Spark Declarative Pipelines-Konzepte

Erfahren Sie, was Lakeflow Spark Declarative Pipelines (SDP) ist, die Kernkonzepte (z. B. Pipelines, Streamingtabellen und materialisierte Ansichten), die sie definieren, die Beziehungen zwischen diesen Konzepten und die Vorteile der Verwendung in Ihren Datenverarbeitungsworkflows.

Hinweis

Lakeflow Spark Declarative Pipelines erfordert den Premium-Plan. Wenden Sie sich an Ihr Databricks-Kontoteam, um weitere Informationen zu erfahren.

Was ist SDP?

Lakeflow Spark Declarative Pipelines ist ein deklaratives Framework für die Entwicklung und Ausführung von Batch- und Streamingdatenpipelines in SQL und Python. Lakeflow SDP erweitert und ist mit Apache Spark Declarative Pipelines kompatibel, während sie auf der leistungsoptimierten Databricks-Runtime ausgeführt wird, und die Lakeflow Spark Declarative Pipelines-API flows verwendet dieselbe DataFrame-API wie Apache Spark und Structured Streaming. Häufige Anwendungsfälle für SDP umfassen inkrementelle Datenaufnahme aus Quellen wie Cloudspeicher (einschließlich Amazon S3, Azure ADLS Gen2 und Google Cloud Storage) und Nachrichtenbusse (wie Apache Kafka, Amazon Kinesis, Google Pub/Sub, Azure EventHub und Apache Pulsar), inkrementelle Batch- und Streamingtransformationen mit zustandslosen und zustandslosen Operatoren sowie Echtzeitdatenstromverarbeitung zwischen Transaktionsspeichern wie Nachrichtenbussen und Datenbanken.

Weitere Informationen zur deklarativen Datenverarbeitung finden Sie unter "Verfahren" im Vergleich zur deklarativen Datenverarbeitung in Databricks.

Was sind die Vorteile der SDP?

Die deklarative Natur von SDP bietet die folgenden Vorteile gegenüber der Entwicklung von Datenprozessen mit den Apache Spark und Spark Structured Streaming APIs und deren Ausführung mit der Databricks Runtime mithilfe manueller Orchestrierung über Lakeflow Jobs.

  • Automatische Orchestrierung: SDP koordiniert Verarbeitungsschritte (sogenannte "Flows") automatisch, um die richtige Reihenfolge der Ausführung und den maximalen Parallelitätsgrad für optimale Leistung sicherzustellen. Darüber hinaus versuchen Pipelines vorübergehende Fehler automatisch und effizient erneut. Der Wiederholungsprozess beginnt mit der granularsten und kostengünstigsten Einheit: dem Spark-Vorgang. Wenn der Wiederholungsvorgang auf Vorgangsebene fehlschlägt, führt SDP den Vorgang erneut aus, und schließlich wird die gesamte Pipeline bei Bedarf erneut ausgeführt.
  • Deklarative Verarbeitung: SDP stellt deklarative Funktionen bereit, mit denen Hunderte oder sogar Tausende von manuellen Spark- und Structured Streaming-Code auf nur wenige Zeilen reduziert werden können. Die SDP AUTO CDC-API vereinfacht die Verarbeitung von Change Data Capture (CDC)-Ereignissen mit Unterstützung für SCD Typ 1 und SCD Typ 2. Es beseitigt die Notwendigkeit, manuellen Code zur Behandlung von Out-of-Order-Ereignissen zu schreiben, und erfordert kein Verständnis der Streaming-Semantik oder Konzepte wie Watermarks.
  • Inkrementelle Verarbeitung: SDP stellt ein inkrementelles Verarbeitungsmodul für materialisierte Ansichten bereit. Um sie zu verwenden, schreiben Sie Ihre Transformationslogik mit Batchsemantik, und das Modul verarbeitet nur nach Möglichkeit neue Daten und Änderungen in den Datenquellen. Die inkrementelle Verarbeitung reduziert die ineffiziente erneute Verarbeitung, wenn neue Daten oder Änderungen in den Quellen auftreten, und macht manuelle Codierung zur Handhabung der inkrementellen Verarbeitung überflüssig.

Wichtige Konzepte

Das folgende Diagramm veranschaulicht die wichtigsten Konzepte von Lakeflow Spark Declarative Pipelines.

Ein Diagramm, das zeigt, wie sich die Kernkonzepte von SDP auf sehr hoher Ebene miteinander verbinden

Flows

Ein Fluss ist das grundlegende Datenverarbeitungskonzept in SDP, das sowohl Streaming- als auch Batchsemantik unterstützt. Ein Fluss liest Daten aus einer Quelle, wendet benutzerdefinierte Verarbeitungslogik an und schreibt das Ergebnis in ein Ziel. SDP teilt den gleichen Streamingflusstyp (Append, Update, Complete) wie Spark Structured Streaming. (Derzeit wird nur der Anfügefluss verfügbar gemacht.) Weitere Informationen finden Sie unter Ausgabemodi im strukturierten Streaming.

Lakeflow Spark Declarative Pipelines bietet auch zusätzliche Flusstypen:

  • AUTO CDC ist ein einzigartiger Streamingfluss in Lakeflow SDP, der unsortierte CDC-Ereignisse verarbeitet und sowohl SCD-Typ 1 als auch SCD-Typ 2 unterstützt. Auto CDC ist in Apache Spark Declarative Pipelines nicht verfügbar.
  • Die materialisierte Ansicht ist ein Batchfluss in SDP, der nur nach Möglichkeit neue Daten und Änderungen in den Quelltabellen verarbeitet.

Weitere Informationen finden Sie unter:

Streamingtabellen

Eine Streamingtabelle ist eine Form der verwalteten Unity-Katalog-Tabelle, die auch ein Streamingziel für Lakeflow SDP ist. Eine Streamingtabelle kann einen oder mehrere Streamingflüsse (Append, AUTO CDC) in die Tabelle schreiben. AUTO CDC ist ein einzigartiger Streamingfluss, der nur für Streamingtabellen in Databricks verfügbar ist. Sie können Streamingflüsse explizit und getrennt von der Zielstreamingtabelle definieren. Sie können Streamingflüsse auch implizit als Teil einer Streamingtabellendefinition definieren.

Weitere Informationen finden Sie unter:

Materialisierte Ansichten

Eine materialisierte Ansicht ist auch eine Art von Unity Catalog-verwalteter Tabelle und ein Batch-Ziel. Eine materialisierte Sicht kann einen oder mehrere materialisierte Sichtflüsse enthalten. Materialisierte Ansichten unterscheiden sich von Streamingtabellen darin, dass Sie die Flüsse immer implizit als Teil der materialisierten Ansichtsdefinition definieren.

Weitere Informationen finden Sie unter:

Waschbecken

Eine Spüle ist ein Streamingziel für eine Pipeline und unterstützt Delta-Tabellen, Apache Kafka-Themen, Azure EventHubs-Themen und benutzerdefinierte Python-Datenquellen. Eine Spüle kann einen oder mehrere Streamingflüsse (Append) in die Spüle schreiben.

Weitere Informationen finden Sie unter:

Pipelines

Eine Pipeline ist die Entwicklungs- und Ausführungseinheit in Lakeflow Spark Declarative Pipelines. Eine Pipeline kann einen oder mehrere Flüsse, Streamingtabellen, materialisierte Ansichten und Senken enthalten. Sie verwenden SDP, indem Sie Flüsse, Streamingtabellen, materialisierte Ansichten und Senken in Ihrem Pipelinequellcode definieren und dann die Pipeline ausführen. Während die Pipeline ausgeführt wird, analysiert sie die Abhängigkeiten Ihrer definierten Flüsse, Streamingtabellen, materialisierten Ansichten und Senken und koordiniert die Reihenfolge der Ausführung und Parallelisierung automatisch.

Weitere Informationen finden Sie unter:

Databricks-SQL-Pipelines

Streamingtabellen und materialisierte Ansichten sind zwei grundlegende Funktionen in Databricks SQL. Sie können standard SQL verwenden, um Streamingtabellen und materialisierte Ansichten in Databricks SQL zu erstellen und zu aktualisieren. Streamingtabellen und materialisierte Ansichten in Databricks SQL werden in derselben Azure Databricks-Infrastruktur ausgeführt und verfügen über die gleiche Verarbeitungsemantik wie in Lakeflow Spark Declarative Pipelines. Wenn Sie Streamingtabellen und materialisierte Ansichten in Databricks SQL verwenden, werden Flüsse implizit als Teil der Definition von Streamingtabellen und materialisierten Ansichten definiert.

Weitere Informationen finden Sie unter:

Mehr Informationen