Was sind Pipelines?

Eine Pipeline ist die Haupteinheit für Entwicklung und Ausführung in Lakeflow Spark Declarative Pipelines (SDP). Eine Pipeline ist eine Sammlung von Quellcodedateien und einer Konfiguration. Die Quelldateien deklarieren Datensätze (Streaming-Tabellen, materialisierte Ansichten und Ansichten) zusammen mit den Abfragen und Abläufen, die sie erzeugen. Die Konfiguration gibt an, wie die Pipeline ausgeführt wird und wo Daten gespeichert werden.

Eine Pipeline ist der Container für die Flüsse, Streamingtabellen, materialisierte Ansichten und Senken, die Sie definieren. Während die Pipeline ausgeführt wird, analysiert sie die Abhängigkeiten zwischen diesen Objekten und koordiniert die Reihenfolge der Ausführung und Parallelisierung automatisch. Ausführliche Informationen zu den Objekten, die eine Pipeline enthält, finden Sie unter "What is Lakeflow Spark Declarative Pipelines".

Quellcode der Pipeline

Pipelinequellcode wird in Python oder SQL geschrieben. Eine einzelne Pipeline kann Python- und SQL-Quelldateien kombinieren, jede Datei kann jedoch nur eine Sprache enthalten. Da die Pipeline die Abhängigkeiten des Datensatzes über alle ihre Quelldateien hinweg analysiert, können Sie den Quellcode dateiübergreifend in beliebiger Reihenfolge anordnen.

Anleitungen zur sprachspezifischen Entwicklung finden Sie unter Entwickeln von Pipelinecode mit Python und Entwickeln von Lakeflow Spark Declarative Pipelines-Code mit SQL.

Pipeline-Diagramm

Pipelines können Abhängigkeiten zwischen Datasets automatisch ableiten und in einem gerichteten azyklischen Diagramm (DAG) anordnen. Das Diagramm bestimmt die Auswertungsreihenfolge: Upstream-Datasets werden vor downstream berechnet. Sie können das Pipelinediagramm im Lakeflow Pipelines Editor anzeigen und damit interagieren.

Pipeline-Aktualisierungen

Eine Pipelineaktualisierung berechnet den aktuellen Status der einzelnen Datasets durch:

  1. Starten eines Clusters mit der richtigen Konfiguration.
  2. Analysieren von Quelldateien und Erstellen des Abhängigkeitsdiagramms.
  3. Berechnen oder schrittweises Aktualisieren jedes Datensatzes in der Reihenfolge ihrer Abhängigkeiten.

Pipelines werden in zwei Modi ausgeführt:

  • Ausgelöst: Die Pipeline wird einmal ausgeführt und endet, wenn alle Datensätze auf dem neuesten Stand sind.
  • Fortlaufend: Die Pipeline läuft unbegrenzt und verarbeitet neue Daten, sobald sie eintreffen.

Updates, die Sie interaktiv im Editor auslösen, sind für schnelle Iterationen optimiert, wobei der Cluster wiederverwendet und automatische Wiederholungsversuche deaktiviert werden. Siehe Verhalten der Updateausführung.

Pipelinetypen

Die Liste "Jobs & Pipelines" enthält mehr als nur Pipelines, die in Lakeflow Spark Declarative Pipelines erstellt wurden. Azure Databricks unterstützt mehrere unterschiedliche Pipeline-Typen, und die Liste Jobs & Pipelines sowie die Seite zur Pipelineüberwachung kennzeichnen jede Pipeline mit einem Typ, sodass Sie erkennen können, um welchen Typ es sich jeweils handelt. Die folgende Tabelle ordnet jedem Pipelinetyp den im Ereignisprotokoll aufgezeichneten pipeline_typeWert zu:

Geben Sie Aufträge und Pipelines ein pipeline_type im Ereignisprotokoll Description
ETL WORKSPACE Eine Pipeline, die in Lakeflow Spark Declarative Pipelines definiert ist. Siehe Lakeflow Spark Declarative Pipelines.
Aufnahme MANAGED_INGESTION Eine verwaltete Aufnahmepipeline, die mit Lakeflow Connect erstellt wurde. Siehe Managed Connectors in Lakeflow Connect.
MV/ST DBSQL Eine eigenständige Pipeline. Siehe eigenständige Pipelines.
Datenbanktabellensynchronisierung DATABASE_TABLE_SYNC Eine Pipeline, die eine Tabelle mit einer Lakebase-Datenbank synchronisiert. Weitere Informationen finden Sie unter Serve Lakehouse-Daten mit synchronisierten Tabellen (Lakebase Provisioned).

Eigenständige Pipelines

Sie können Streamingtabellen und materialisierte Ansichten außerhalb von Lakeflow Spark Declarative Pipelines als eigenständige Pipelines erstellen und verwalten. Sie können Databricks SQL oder Python verwenden, um eigenständige Streamingtabellen und materialisierte Ansichten zu erstellen und zu aktualisieren. Sie werden auf derselben Azure Databricks Infrastruktur ausgeführt und weisen die gleiche Verarbeitungssemantik auf wie in Lakeflow Spark Declarative Pipelines. Wenn Sie eine eigenständige Streamingtabelle oder materialisierte Ansicht definieren, werden Flüsse implizit als Teil der Definition der Streamingtabelle oder der materialisierten Ansicht definiert.

Ausführliche Informationen finden Sie unter Eigenständige Pipelines.

Lakeflow-Pipeline-Editor

Der Lakeflow Pipelines Editor ist eine IDE, die für die Pipelineentwicklung entwickelt wurde. Sie bietet:

  • Ein Code-Editor mit mehreren Dateien für Python- und SQL-Quelldateien
  • Ein Pipelineressourcenbrowser zum Organisieren von Dateien und Ordnern
  • Interaktives Pipelinediagramm mit Datasetabhängigkeiten und -zustand
  • Datenvorschauen für Streamingtabellen und materialisierte Ansichten
  • Einblicke in die Ausführung und ein Problembereich mit Ergebnissen aus der letzten Ausführung
  • Selektive Ausführung zum Aktualisieren einzelner Dateien oder Tabellen ohne Ausführung der vollständigen Pipeline

Der Editor ist in die Azure Databricks-Plattform integriert und unterstützt die Versionssteuerung über Git-Ordner. Eine schrittweise Anleitung finden Sie unter Entwickeln und Debuggen von ETL-Pipelines mit dem Lakeflow-Pipelines-Editor.

Weitere Ressourcen