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, enthalten die Artefakte, die Sie bereitstellen möchten, und die Einstellungen für Azure Databricks-Ressourcen wie Aufträge, die Sie ausführen möchten, und ermöglichen Es Ihnen, sie 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 eines Auftrags erstellen. Siehe Lakeflow Jobs. Das Bündel wird mit der Standardpaketvorlage "Databricks Asset Bundles" für Python erstellt, die aus einem Notizbuch und der Definition eines Auftrags besteht, um es auszuführen. Anschließend validieren Sie den bereitgestellten Auftrag in Ihrem Azure Databricks-Arbeitsbereich und führen ihn aus.
Tipp
Wenn Sie über vorhandene Aufträge verfügen, die mit der Benutzeroberfläche oder API von Lakeflow Jobs erstellt wurden, die Sie in Bundles verschieben möchten, müssen Sie sie in den Konfigurationsdateien eines Bundles definieren. Dazu empfiehlt Databricks, zunächst ein Bundle mithilfe der nachstehenden Schritte zu erstellen und zu überprüfen, ob das Bundle funktioniert. Anschließend können Sie dem Bündel zusätzliche Auftragsdefinitionen, Notebooks und andere Quellen hinzufügen. Siehe Abrufen einer vorhandenen Auftragsdefinition mithilfe der Benutzeroberfläche.
Wenn Sie ein Bundle von Grund auf neu erstellen möchten, lesen Sie den Abschnitt Manuelles Erstellen eines Bundles.
Anforderungen
- Databricks-CLI-Version 0.218.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 Remote-Databricks-Arbeitsbereich müssen Arbeitsbereichsdateien aktiviert sein. Weitere Informationen finden Sie unter Was sind Arbeitsbereichsdateien?.
- Ein vorhandener Katalog. Informationen zum Erstellen eines Katalogs finden Sie unter Erstellen von Katalogen.
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: Initialisieren des Bundles
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 initLassen Sie für
Template to useden Standardwert vondefault-pythonbestehen, indem SieEnterdrücken.Behalten Sie für
Unique name for this projectden Standardwert vonmy_projectbei 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
Include a job that runs a notebookfüryesaus, und drücken SieEnter.Wählen Sie
Include an ETL pipelinefürnoaus, und drücken SieEnter.Wählen Sie
Include a stub (sample) Python packagefürnoaus, und drücken SieEnter.Wählen Sie
Use serverlessfüryesaus, 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. Zu den Dateien von besonderem Interesse gehören:
-
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.job.yml: Diese Datei gibt die Einstellungen des Auftrags an, einschließlich einer Standardnotizbuchaufgabe. Informationen zu den Job-Einstellungen finden Sie unter Job. -
src/: Dieser Ordner enthält die Quelldateien des Auftrags. -
src/sample_notebook.ipynb: Dieses Notebook liest eine Beispieltabelle. -
tests/: Dieser Ordner enthält Beispiel-Einheitstests. -
README.md: Diese Datei enthält zusätzliche Informationen zu den ersten Schritten und zur Verwendung dieser Bündelvorlage.
Tipp
Sie können die Einstellungen für neue Auftragscluster in Bundles definieren, kombinieren und überschreiben, indem Sie die unter Überschreiben mit Zieleinstellungen beschriebenen Techniken verwenden.
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 den Auftrag in Ihrem Azure Databricks-Remotearbeitsbereich bereit, und überprüfen Sie den Auftrag in Ihrem Arbeitsbereich.
Verwenden Sie im Stammverzeichnis des Bundles die Databricks CLI, um den
bundle deploy-Befehl auszuführen:databricks bundle deploy --target devVergewissern Sie sich, dass das Notizbuch bereitgestellt wurde:
- Klicken Sie in der Randleiste Ihres Azure Databricks-Arbeitsbereichs auf "Arbeitsbereich".
- Klicken Sie in den Ordner Benutzer >
<your-username>> .bundle ><project-name>> dev > files > src. Das Notebook sollte sich in diesem Ordner befinden.
Überprüfen Sie, ob der Auftrag erstellt wurde:
- Klicken Sie in der Randleiste Ihres Azure Databricks-Arbeitsbereichs auf Aufträge und Pipelines.
- Wählen Sie optional die Filter "Jobs " und "Owned by me" aus .
- Klicken Sie auf [dev
<your-username>]sample_job. - Klicken Sie auf die Registerkarte "Aufgaben ". Es sollte eine notebook_task geben.
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 des bereitgestellten Auftrags
Starten Sie nun eine Ausführung des Auftrags in Ihrer Arbeitsumgebung über die Befehlszeile.
Verwenden Sie im Stammverzeichnis die Databricks CLI, um den
bundle runBefehl auszuführen:databricks bundle run --target dev sample_jobKopieren Sie den Wert von
Run URL, der in Ihrem Terminal angezeigt wird, und fügen Sie ihn in Ihren Webbrowser ein, um Ihren Azure Databricks-Arbeitsbereich zu öffnen. See Anzeigen und Ausführen eines mit Databricks Asset Bundles erstellten EinzelvorgangsKlicken Sie auf die Auftragsaufgabe in Ihrem Azure Databricks-Arbeitsbereich, nachdem sie erfolgreich abgeschlossen wurde und eine grüne Titelleiste angezeigt wird, um die Ergebnisse zu sehen.
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 Notebook und den Auftrag aus Ihrem Arbeitsbereich.
Verwenden Sie im Stammverzeichnis die Databricks CLI, um den
bundle destroyBefehl auszuführen:databricks bundle destroy --target devWenn Sie aufgefordert werden, alle Arbeitsbereichsdateien und Verzeichnisse dauerhaft zu löschen, 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.