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.
Databricks Asset Bundles, auch bekannt als Bundles, ermöglichen Es Ihnen, Azure Databricks-Ressourcen wie Lakeflow Spark Declarative Pipelines programmgesteuert zu überprüfen, bereitzustellen und auszuführen. Weitere Informationen finden Sie unter Was sind Databricks-Ressourcenbundles?
Auf dieser Seite wird beschrieben, wie Sie ein Bündel zum programmgesteuerten Verwalten einer Pipeline erstellen. Siehe Lakeflow Spark Declarative Pipelines. Das Bündel wird mit der Standardpaketvorlage "Databricks Asset Bundles" für Python erstellt, die eine ETL-Pipeline und einen Auftrag zum Ausführen definiert. Sie überprüfen dann die Pipeline, stellen sie bereit und führen die bereitgestellte Pipeline in Ihrem Azure Databricks-Arbeitsbereich aus.
Tipp
Wenn Sie über vorhandene Pipelines verfügen, die mit der Azure Databricks-Benutzeroberfläche oder -API erstellt wurden, die Sie in Bundles verschieben möchten, müssen Sie sie in den Konfigurationsdateien eines Bundles definieren. Databricks empfiehlt, zuerst ein Bündel mithilfe der folgenden Schritte zu erstellen, und fügen Sie dann dem Bundle Konfiguration und andere Quellen hinzu. Siehe Abrufen einer vorhandenen Pipelinedefinition mithilfe der Benutzeroberfläche.
Anforderungen
- Databricks CLI Version 0.276.0 oder höher. Führen Sie den Befehl
databricks -vaus, um zu überprüfen, welche Version der Databricks-CLI installiert ist. Informationen zum Installieren der Databricks CLI finden Sie unter Installieren oder Aktualisieren der Databricks CLI. - uv ist erforderlich, um Tests auszuführen und Abhängigkeiten für dieses Projekt aus einer IDE zu installieren.
- Für den Remotearbeitsbereich müssen Arbeitsbereichsdateien aktiviert sein. Weitere Informationen finden Sie unter Was sind Arbeitsbereichsdateien?.
- Ein bestehender Katalog für Tabellen in der Pipeline. Siehe Erstellen von Katalogen.
(Optional) Installieren eines Python-Moduls zur Unterstützung der lokalen Pipelineentwicklung
Databricks bietet ein Python-Modul, das Die lokale Entwicklung von Lakeflow Spark Declarative Pipelines-Code unterstützt, indem Syntaxüberprüfung, AutoVervollständigen und Datentypüberprüfung beim Schreiben von Code in Ihrer IDE bereitgestellt werden.
Das Python-Modul für die lokale Entwicklung ist auf PyPi verfügbar. Informationen zum Installieren des Moduls finden Sie unter Python-Stub für DLT.
Schritt 1: Einrichten der Authentifizierung
Richten Sie zunächst die Authentifizierung zwischen der Databricks CLI auf Ihrem Entwicklungscomputer und Ihrem Azure Databricks-Arbeitsbereich ein. Bei dieser Seite wird davon ausgegangen, dass Sie die OAuth-Authentifizierung User-to-Machine (U2M) und ein entsprechendes Azure Databricks-Konfigurationsprofil namens DEFAULT für die Authentifizierung verwenden möchten.
Hinweis
Die U2M-Authentifizierung eignet sich für das Testen dieser Schritte in Echtzeit. Bei vollständig automatisierten Workflows empfiehlt Databricks stattdessen die Verwendung der OAuth-M2M-Authentifizierung (Machine-to-Machine, Computer-zu-Computer). Lesen Sie die Anweisungen zum Einrichten der M2M-Authentifizierung unter Autorisieren des Dienstprinzipalzugriffs auf Azure Databricks mit OAuth.
Verwenden Sie die Databricks CLI, um die OAuth-Tokenverwaltung lokal zu initiieren, indem Sie den folgenden Befehl für jeden Zielarbeitsbereich ausführen.
Ersetzen Sie
<workspace-url>im folgenden Befehl durch Ihre arbeitsbereichsspezifische Azure Databricks-URL, z. B.https://adb-1234567890123456.7.azuredatabricks.net.databricks auth login --host <workspace-url>Die Databricks-CLI fordert Sie auf, die von Ihnen eingegebenen Informationen als Azure Databricks-Konfigurationsprofil zu speichern. Drücken Sie die EINGABETASTE (
Enter), um den vorgeschlagenen Profilnamen zu übernehmen, oder geben Sie den Namen eines neuen oder bereits vorhandenen Profils ein. Ist bereits ein Profil mit dem gleichen Namen vorhanden, wird es mit den von Ihnen eingegebenen Informationen überschrieben. Sie können Profile verwenden, um Ihren Authentifizierungskontext schnell über mehrere Arbeitsbereiche hinweg zu wechseln.Um eine Liste vorhandener Profile abzurufen, führen Sie in der Databricks-CLI den Befehl
databricks auth profilesin einem separaten Terminal oder in einer separaten Eingabeaufforderung aus. Um die vorhandenen Einstellungen eines bestimmten Profils anzuzeigen, führen Sie den Befehldatabricks auth env --profile <profile-name>aus.Führen Sie in Ihrem Webbrowser die Anweisungen auf dem Bildschirm aus, um sich bei Ihrem Azure Databricks-Arbeitsbereich anzumelden.
Um den aktuellen OAuth-Tokenwert eines Profils und den bevorstehenden Ablaufzeitstempel eines Profils anzuzeigen, führen Sie einen der folgenden Befehle aus:
databricks auth token --host <workspace-url>databricks auth token -p <profile-name>databricks auth token --host <workspace-url> -p <profile-name>
Wenn Sie über mehrere Profile mit demselben
--host-Wert verfügen, müssen Sie möglicherweise die Optionen--hostund-pzusammen angeben, damit die Databricks CLI die richtigen übereinstimmenden Informationen des OAuth-Tokens ermitteln kann.
Schritt 2: Erstellen des Pakets
Initialisieren Sie ein Bundle mit der standardmäßigen Python-Bundle-Projektvorlage.
Verwenden Sie Ihr Terminal oder die Eingabeaufforderung, um zu einem Verzeichnis auf Ihrem lokalen Entwicklungscomputer zu wechseln, das das generierte Bundle der Vorlage enthält.
Verwenden Sie die Databricks CLI, um den Befehl
bundle initauszuführen:databricks bundle initBehalten Sie für
Template to useden Standardwert „default-python“ bei, indem Sie „Enter“ drücken.Lassen Sie den Standardwert von
Unique name for this projectaufmy_projecteingestellt oder geben Sie einen anderen Wert ein und drücken Sie dannEnter. Dadurch wird der Name des Stammverzeichnisses für dieses Bündel bestimmt. Dieses Stammverzeichnis wird in Ihrem aktuellen Arbeitsverzeichnis erstellt.Wählen Sie für
Include a job that runs a notebook,noaus, und drücken SieEnter. (Das Beispielnotizbuch, das dieser Option zugeordnet ist, enthält keinen Pipelinecode darin.)Behalten Sie für
Include an ETL pipelineden Standardwert „yes“ bei, indem Sie „Enter“ drücken. Dadurch werden Beispielpipelinecode und eine Pipelinedefinition hinzugefügt.Wählen Sie für
Include a stub (sample) Python package,noaus, und drücken SieEnter.Wählen Sie für
Use serverless,yesaus, und drücken SieEnter. Dadurch wird die Databricks CLI angewiesen, Ihr Bundle so zu konfigurieren, dass es auf serverlosem Compute ausgeführt wird.Geben Sie für
Default catalog for any tables created by this project [hive_metastore]den Namen eines vorhandenen Unity-Katalogkatalogs ein.Wählen Sie
Use a personal schema for each user working on this project.füryesaus.
Schritt 3: Erkunden des Pakets
Wechseln Sie in das Stammverzeichnis des neu erstellten Bundles, um die von der Vorlage erzeugten Dateien anzuzeigen. Von besonderem Interesse sind die folgenden Dateien:
-
databricks.yml: Diese Datei gibt den programmgesteuerten Namen des Bundles an, enthält Verweise auf die Dateien des Bündels, definiert Katalog- und Schemavariablen und gibt Einstellungen für Zielarbeitsbereiche an. -
resources/sample_job.ymlundresources/<project-name>_etl_pipeline.yml: Diese Dateien definieren den Auftrag, der eine Pipelineaktualisierungsaufgabe enthält, und die Einstellungen der Pipeline. Informationen zu Pipelineeinstellungen finden Sie unter Pipeline. -
src/: Dieser Ordner enthält die Quelldateien der Beispielpipeline, Erkundungen und Transformationen. -
tests/undfixtures/: Diese Ordner enthalten Probeneinheitstests für die Pipeline und Vorrichtungen für Datensätze. -
README.md: Diese Datei enthält zusätzliche Informationen zu den ersten Schritten und zur Verwendung dieser Bündelvorlage.
Schritt 4: Überprüfen der Bundlekonfiguration
Überprüfen Sie nun, ob die Bundlekonfiguration gültig ist.
Verwenden Sie im Stammverzeichnis die Databricks CLI, um den
bundle validateBefehl auszuführen:databricks bundle validateWenn eine Zusammenfassung der Bundlekonfiguration zurückgegeben wird, war die Prüfung erfolgreich. Wenn Fehler zurückgegeben werden, müssen Sie sie beheben und dann diesen Schritt wiederholen.
Schritt 5: Bereitstellen des Bundles im Remotearbeitsbereich
Stellen Sie als Nächstes das Bundle in Ihrem Azure Databricks-Remotearbeitsbereich bereit, und überprüfen Sie die Pipeline in Ihrem Arbeitsbereich.
Verwenden Sie im Stammverzeichnis des Bundles die Databricks CLI, um den
bundle deploy-Befehl auszuführen:databricks bundle deploy --target devHinweis
Die Standardvorlage enthält einen Auftrag, der die Pipeline täglich ausführt, aber dieser wird für den Zielbereitstellungsmodus
devangehalten. Weitere Informationen finden Sie unter Bereitstellungsmodi für Databricks-Ressourcenbundle.Vergewissern Sie sich, dass das Bundle bereitgestellt wurde:
- Klicken Sie in der Randleiste Ihres Azure Databricks-Arbeitsbereichs auf "Arbeitsbereich".
- Klicken Sie in den Ordner "Benutzer >
<your-username>>.bundle", und suchen Sie ihr Bundleprojekt.
Prüfen Sie, ob Ihre Pipeline erstellt wurde:
- Klicken Sie in der Randleiste Ihres Azure Databricks-Arbeitsbereichs auf Aufträge und Pipelines.
- Wählen Sie optional die Filter "Pipelines " und "Owned by me" aus .
- Klicken Sie auf [dev
<your-username>]<project-name>_etl.
Wenn Sie nach diesem Schritt Änderungen an Ihrem Bundle vornehmen, sollten Sie die Schritte 4 bis 5 wiederholen, um zu überprüfen, ob Ihre Bundlekonfiguration noch gültig ist, und dann das Projekt erneut bereitstellen.
Schritt 6: Ausführen der bereitgestellten Pipeline
Lösen Sie nun eine Ausführung der Pipeline in Ihrem Arbeitsbereich über die Befehlszeile aus.
Verwenden Sie im Stammverzeichnis die Databricks CLI, um den
bundle runBefehl auszuführen, und ersetzen<project-name>Sie dabei durch den Namen Ihres Projekts:databricks bundle run --target dev <project-name>_etlKopieren Sie den Wert von
Update URL, der in Ihrem Terminal angezeigt wird, und fügen Sie ihn in Ihren Webbrowser ein, um Ihren Azure Databricks-Arbeitsbereich zu öffnen.Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich, nachdem die Pipeline erfolgreich ausgeführt wurde, auf die materialisierten Ansichten, um die Details jeder Ansicht anzuzeigen.
Wenn Sie nach diesem Schritt Änderungen an Ihrem Bundle vornehmen, sollten Sie die Schritte 4 bis 6 wiederholen, um zu überprüfen, ob Ihre Bundlekonfiguration noch gültig ist, das Projekt erneut bereitstellen und dieses Projekt ausführen.
Schritt 7: Ausführen von Tests
Verwenden Sie pytest schließlich, um Tests lokal auszuführen:
uv run pytest
Schritt 8: Bereinigen
In diesem Schritt löschen Sie das bereitgestellte Bundle und die Pipeline aus Ihrem Arbeitsbereich.
Verwenden Sie im Stammverzeichnis die Databricks CLI, um den
bundle destroyBefehl auszuführen:databricks bundle destroy --target devWenn Sie aufgefordert werden, Ressourcen, die Pipeline sowie von der Pipeline verwaltete Tabellen und Ansichten dauerhaft zu zerstören, geben Sie
yein und drücken SieEnter.Wenn Sie das Bundle auch von Ihrem Entwicklungscomputer löschen möchten, können Sie jetzt das lokale Projektverzeichnis löschen.