Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Python Pipelinequellcode in Ihrer bevorzugten integrierten Entwicklungsumgebung (IDE) erstellen, lokal zum Testen ausführen, dann Updates in Ihrem Azure Databricks Arbeitsbereich überprüfen, bereitstellen und ausführen, ohne Ihre lokale Umgebung zu verlassen.
Lakeflow-Pipelines sind eine Obermenge von Apache Spark™ Declarative Pipelines. Code, der nur Apache Spark Declarative Pipelines-APIs verwendet, wird sowohl lokal als auch auf Azure Databricks ausgeführt, aber Code, der Features verwendet, die für Lakeflow-Pipelines, wie zAUTO CDC. B. Erwartungen, einzigartig sind, wird nur auf Azure Databricks ausgeführt. Informationen zu den Featureunterschieden finden Sie unter Lakeflow-Pipelines Python Sprachreferenz.
Verwenden Sie für interaktive Entwicklung und Tests im Azure Databricks Arbeitsbereich den Lakeflow Pipelines Editor. Siehe Entwickeln und Debuggen von ETL-Pipelines mit dem Lakeflow Pipelines-Editor.
Schreiben von Pipelinecode mit IDE-Unterstützung
Schreiben Sie Pipeline-Code unter Verwendung des Moduls pyspark.pipelines, importiert als dp:
from pyspark import pipelines as dp
Da das Modul Teil von Apache Spark ist, bietet Ihre IDE beim Schreiben Syntaxüberprüfung, AutoVervollständigen und Typüberprüfung. Apache Spark Declarative Pipelines-Code wird in der Regel ohne Änderung auf Azure Databricks ausgeführt. Wenn Sie denselben Importbefehl in einer Lakeflow-Pipeline ausführen, wird die Azure-Databricks-Version von pipelines importiert. Die vollständige Lakeflow-Pipelines-Python-Referenz finden Sie unter Lakeflow-Pipelines-Python-Sprachreferenz.
Separate Transformationslogik für lokale Tests
Die wirksamste Methode, Pipeline-Code lokal testbar zu machen, besteht darin, deine Transformationslogik in einfachen PySpark-Funktionen zu kapseln, getrennt von den dp-Dekoratoren. Eine Funktion, die einen DataFrame als Eingabe erhält und einen DataFrame zurückgibt, hängt nicht von der Lakeflow-Pipelines-Laufzeit ab, sodass Sie sie mit pytest auf Ihrem lokalen Rechner als Unit-Test testen können, genau wie jeden anderen Apache-Spark-Code. Halten Sie die dekorierten Funktionen schlank, sodass sie die Logik importieren und aufrufen:
# transformations/clean.py — pure PySpark, unit-testable on its own
def clean_orders(df):
return df.filter("quantity > 0").withColumn("amount_usd", df.amount.cast("double"))
# pipeline file — a thin dp wrapper that imports and calls the logic
from pyspark import pipelines as dp
from transformations.clean import clean_orders
@dp.table(name="orders_silver")
def orders_silver():
return clean_orders(spark.readStream.table("orders_bronze"))
Du kannst die gemeinsame Logik als Rad paketieren, um sie über Pipelines hinweg wiederzuverwenden. Für eine vollständige Anleitung zum Schreiben und Ausführen von Unit-Tests siehe Unit-Testing für Pipelines.
Pipelines lokal zum Testen ausführen
Sie können Pipelines auch lokal ausführen, um Ihren Code zu entwickeln und zu testen, bevor Sie ihn auf Azure Databricks ausführen. Verwenden Sie die spark-pipelines Befehlszeilenschnittstelle, um eine Pipeline mit dem lokalen Apache Spark zu initialisieren, zu überprüfen und auszuführen. Siehe den Programmierleitfaden für deklarative Spark-Pipelines in der Apache Spark-Dokumentation.
Eine vollständige Pipeline verwendet drei komplementäre Testschichten, von denen man zwei lokal durchführen kann:
-
Unit-Tests für Ihre Transformationslogik, ausgeführt mit
pytestgegen die oben beschriebenen reinen PySpark-Funktionen. Diese benötigen keine Pipeline-Laufzeit. Siehe Unit-Tests für Pipelines. -
Validierung (Trockenlauf) des Pipeline-Graphen, des Quellcodes und der Datasets, lokal mit
spark-pipelinesoderdatabricks pipelines dry-runin Ihrem Arbeitsbereich – ohne Daten zu schreiben. - Erwartungen, die die Datenqualitätsregeln für jede Zeile jedes Durchlaufs bewerten. Da sie eine Laufzeitfunktion von Lakeflow-Pipelines sind, laufen sie nur auf Azure Databricks, nicht lokal. Weitere Informationen finden Sie unter Verwalten der Datenqualität mit Pipelineerwartungen.
Sie können keine spezifischen Funktionen für Lakeflow-Pipelines lokal ausführen oder testen. Dazu gehören Erwartungen und AUTO CDC Funktionen.
Pipelines in Azure Databricks aus Ihrer lokalen Umgebung ausführen
Verwenden Sie die databricks pipelines Befehlsgruppe, um Pipelineupdates in Ihrem Arbeitsbereich direkt von Ihrem Terminal zu überprüfen, bereitzustellen und auszuführen:
databricks pipelines init # scaffold a pipeline project
databricks pipelines dry-run # validate the pipeline graph without publishing data
databricks pipelines deploy # deploy the project to your workspace
databricks pipelines run # run an update
Pipelineupdates werden in Ihrem Azure Databricks Arbeitsbereich ausgeführt, nicht auf Ihrem lokalen Computer, wobei die für die Pipeline konfigurierte Berechnung verwendet wird. Diese Befehle sind mit deklarativen Automatisierungsbundle-Befehlen bundle interoperabel, sodass Sie mit einem einfachen Projekt beginnen und Bündelkonfigurations- und CI/CD-Praktiken einführen können, während sie wächst. Informationen zum Installieren und Konfigurieren der CLI finden Sie unter Installieren oder Aktualisieren der Databricks CLI. Die vollständige Befehlsreferenz finden Sie in pipelines der Befehlsgruppe. Eine schrittweise exemplarische Vorgehensweise finden Sie unter Entwickeln von Pipelines mit deklarativen Automatisierungspaketen.
Synchronisieren von Pipelinecode aus Ihrer IDE mit einem Arbeitsbereich
In der folgenden Tabelle sind Optionen zum Synchronisieren von Pipelinequellcode zwischen Ihrer lokalen IDE und einem Azure Databricks Arbeitsbereich zusammengefasst:
| Tool oder Muster | Einzelheiten |
|---|---|
Databricks CLI (pipelines Befehlsgruppe) |
Verwenden Sie die databricks pipelines Befehle zum Bereitstellen und Ausführen eines Pipelineprojekts aus Ihrer lokalen Umgebung. Siehe pipelines Befehlsgruppe. |
| Deklarative Automatisierungspakete | Verwenden Sie deklarative Automatisierungspakete, um Pipelineressourcen bereitzustellen, die von einer einzelnen Quellcodedatei bis hin zu Konfigurationen für mehrere Pipelines, Aufträge und Quellcodedateien reichen. Siehe Konvertieren einer Pipeline in ein Bündelprojekt. |
| Databricks IDE-Erweiterung | Azure Databricks bietet eine Integration mit Visual Studio Code, die eine einfache Synchronisierung zwischen Ihren lokalen IDE- und Arbeitsbereichsdateien umfasst. Diese Erweiterung bietet auch Tools für die Verwendung von deklarativen Automatisierungs-Bundles zum Bereitstellen von Pipeline-Assets. Siehe die IDE-Erweiterung Databricks. |
| Arbeitsbereichsdateien | Sie können Databricks-Arbeitsbereichsdateien verwenden, um den Pipelinequellcode in Ihren Databricks-Arbeitsbereich hochzuladen und diesen Code dann in eine Pipeline zu importieren. Weitere Informationen finden Sie unter Was sind Arbeitsbereichsdateien?. |
| Git-Ordner | Mit Git-Ordnern können Sie Code zwischen Ihrer lokalen Umgebung und Azure Databricks Arbeitsbereich synchronisieren, indem Sie ein Git-Repository als Vermittler verwenden. Siehe Azure Databricks Git-Ordner. |