Hier wird der Entwicklungsworkflow für Databricks-Ressourcenpakete erläutert.
In diesem Artikel wird die Abfolge der Arbeitsaufgaben für die Entwicklung von Databricks-Ressourcenpaketen beschrieben. Weitere Informationen finden Sie unter Was sind Databricks-Ressourcenpakete?.
Führen Sie die folgenden Schritte aus, um Bündel zu erstellen, zu überprüfen, bereitzustellen und auszuführen.
Schritt 1: Erstellen eines Bündels
Es gibt drei Möglichkeiten, mit dem Erstellen eines Pakets zu beginnen:
- Verwenden der Standardpaketvorlage
- Verwenden einer benutzerdefinierten Paketvorlage
- Erstellen Sie ein Paket manuell.
Verwenden einer standardmäßigen Paketvorlage
Wenn Sie eine Azure Databricks-Standardpaketvorlage zum Erstellen eines Startpakets verwenden möchten, das Sie dann weiter anpassen können, verwenden Sie die Databricks-CLI (Version 0.205 oder höher) zum Ausführen des bundle init
-Befehls, der es ermöglicht, aus einer Liste der verfügbaren Vorlagen auszuwählen:
databricks bundle init
Sie können die Quelle für die Standardpaketvorlagen in den öffentlichen GitHub-Repositorys databricks/cli und databricks/mlops-stacks anzeigen.
Fahren Sie mit Schritt 2: Auffüllen der Paketkonfigurationsdateien fort.
Verwenden einer benutzerdefinierten Bündelvorlage
Um eine andere Paketvorlage als die Azure Databricks-Standardpaketvorlage zu verwenden, müssen Sie den lokalen Pfad oder die URL zum Speicherort der Remotepaketvorlage kennen. Verwenden Sie hierzu Databricks CLI in der Version 0.205 oder höher, um den Befehl bundle init
wie folgt auszuführen:
databricks bundle init <project-template-local-path-or-url>
Weitere Informationen zu diesem Befehl finden Sie unter Databricks-Ressourcenpaketvorlagen. Informationen zu einer bestimmten Paketvorlage finden Sie in der Dokumentation des Paketvorlagenanbieters.
Fahren Sie mit Schritt 2: Auffüllen der Paketkonfigurationsdateien fort.
Manuelles Erstellen eines Pakets
Wenn Sie ein Paket nicht unter Verwendung einer Paketvorlage sondern manuell erstellen möchten, erstellen Sie ein Projektverzeichnis auf Ihrem lokalen Computer oder ein leeres Verzeichnis mit einem Git-Drittanbieter.
Erstellen Sie in Ihrem Verzeichnis oder Repository eine oder mehrere Paketkonfigurationsdateien als Eingabe. Diese Dateien werden im YAML-Format ausgedrückt. Es muss mindestens eine (und nur eine) Paketkonfigurationsdatei mit dem Namen databricks.yml
sein. Auf zusätzliche Paketkonfigurationsdateien muss in der include
-Zuordnung der databricks.yml
-Datei verwiesen werden.
Um YAML-Dateien, die der Syntax der Konfiguration von Databricks-Ressourcenpaketen entsprechen, einfacher und schneller zu erstellen, können Sie Tools wie Visual Studio Code, PyCharm Professional oder IntelliJ IDEA Ultimate, die Unterstützung für YAML-Dateien und JSON-Schemadateien bieten, wie folgt verwenden:
Visual Studio Code
Fügen Sie Visual Studio Code-Unterstützung für YAML-Sprachserver hinzu, z. B. durch Installieren der YAML-Erweiterung aus dem Visual Studio Code Marketplace.
Generieren Sie die JSON-Schemadatei der Konfiguration von Databricks-Ressourcenpaketen, indem Sie die Databricks-CLI in der Version 0.205 oder höher verwenden, um den Befehl
bundle schema
auszuführen und die Ausgabe an eine JSON-Datei umzuleiten. Generieren Sie beispielsweise wie folgt eine Datei namens „bundle_config_schema.json
“ im aktuellen Verzeichnis:databricks bundle schema > bundle_config_schema.json
Verwenden Sie Visual Studio Code, um eine Bundlekonfigurationsdatei im aktuellen Verzeichnis zu erstellen oder zu öffnen. Diese Datei muss den Namen
databricks.yml
haben.Fügen Sie am Anfang Ihrer Bundlekonfigurationsdatei den folgenden Kommentar hinzu:
# yaml-language-server: $schema=bundle_config_schema.json
Hinweis
Wenn sich die JSON-Schemadatei ihrer Databricks-Ressourcenbundlekonfiguration in einem anderen Pfad befindet, ersetzen Sie
bundle_config_schema.json
im vorherigen Kommentar durch den vollständigen Pfad zu Ihrer Schemadatei.Verwenden Sie die YAML-Sprachserverfunktionen, die Sie zuvor hinzugefügt haben. Weitere Informationen finden Sie in der Dokumentation Ihres YAML-Sprachservers.
Pycharm Professional
Generieren Sie die JSON-Schemadatei der Konfiguration von Databricks-Ressourcenpaketen, indem Sie die Databricks-CLI in der Version 0.205 oder höher verwenden, um den Befehl
bundle schema
auszuführen und die Ausgabe an eine JSON-Datei umzuleiten. Generieren Sie beispielsweise wie folgt eine Datei namens „bundle_config_schema.json
“ im aktuellen Verzeichnis:databricks bundle schema > bundle_config_schema.json
Konfigurieren Sie PyCharm, um die JSON-Schemadatei der Bundlekonfiguration zu erkennen. Schließen Sie dann die JSON-Schemazuordnung ab, indem Sie die Anweisungen unter Konfigurieren eines benutzerdefinierten JSON-Schemasbefolgen.
Verwenden Sie PyCharm, um eine Bundlekonfigurationsdatei zu erstellen oder zu öffnen. Diese Datei muss den Namen
databricks.yml
haben. Während der Eingabe sucht PyCharm nach JSON-Schemasyntax und -formatierung und stellt Codeabschlusshinweise bereit.
IntelliJ IDEA Ultimate
Generieren Sie die JSON-Schemadatei der Konfiguration von Databricks-Ressourcenpaketen, indem Sie die Databricks-CLI in der Version 0.205 oder höher verwenden, um den Befehl
bundle schema
auszuführen und die Ausgabe an eine JSON-Datei umzuleiten. Generieren Sie beispielsweise wie folgt eine Datei namens „bundle_config_schema.json
“ im aktuellen Verzeichnis:databricks bundle schema > bundle_config_schema.json
Konfigurieren Sie IntelliJ IDEA, um die JSON-Schemadatei der Bundlekonfiguration zu erkennen. Schließen Sie dann die JSON-Schemazuordnung ab, indem Sie die Anweisungen unter Konfigurieren eines benutzerdefinierten JSON-Schemasbefolgen.
Verwenden Sie IntelliJ IDEA, um eine Bundlekonfigurationsdatei zu erstellen oder zu öffnen. Diese Datei muss den Namen
databricks.yml
haben. Während der Eingabe sucht IntelliJ IDEA nach JSON-Schemasyntax und -formatierung und stellt Codeabschlusshinweise bereit.
Schritt 2: Auffüllen der Paketkonfigurationsdateien
Paketkonfigurationsdateien definieren Ihre Azure Databricks-Workflows, indem sie Einstellungen wie Arbeitsbereichsdetails, Artefaktnamen, Standortnamen, Auftragsdetails und Pipelinedetails angeben. Detaillierte Informationen zu Paketkonfigurationsdateien finden Sie unter Konfigurationen für Databricks-Ressourcenpakete.
Tipp
Sie können den Befehl bundle generate
verwenden, um die Paketkonfiguration für eine vorhandene Ressource automatisch zu generieren. Verwenden Sie dann bundle deployment bind
, um die Paketkonfiguration mit der Ressource im Arbeitsbereich zu verknüpfen. Weitere Informationen finden Sie unter Generieren einer Paketkonfigurationsdatei und Binden von Paketressourcen.
Schritt 3: Überprüfen der Paketkonfigurationsdateien
Bevor Sie Artefakte bereitstellen oder einen Auftrag oder eine Pipeline ausführen, sollten Sie sicherstellen, dass Ihre Bündelkonfigurationsdateien syntaktisch korrekt sind. Führen Sie dazu den bundle validate
-Befehl aus demselben Verzeichnis wie die Bündelkonfigurationsdateien aus. Dieses Verzeichnis wird auch als Bündelstammbezeichnet.
databricks bundle validate
Wenn die Konfigurationsüberprüfung erfolgreich war, gibt dieser Befehl JSON-Nutzdaten aus, die Ihr Paket darstellen.
Schritt 4: Bereitstellen des Pakets
Stellen Sie vor der Bereitstellung des Pakets sicher, dass für den Remotearbeitsbereich Arbeitsbereichsdateien aktiviert wurden. Weitere Informationen finden Sie unter Was sind Arbeitsbereichsdateien?.
Um alle angegebenen lokalen Artefakte für den Remote-Arbeitsbereich bereitzustellen, führen Sie den bundle deploy
-Befehl aus dem Bündelstamm aus. Wenn keine Befehlsoptionen angegeben sind, verwendet die Databricks-CLI das Standardziel wie in den Bündelkonfigurationsdateien deklariert:
databricks bundle deploy
Tipp
Sie können databricks bundle
-Befehle außerhalb des Paketstamms ausführen, indem Sie die BUNDLE_ROOT
-Umgebungsvariable festlegen. Wenn diese Umgebungsvariable nicht festgelegt ist, versuchen databricks bundle
-Befehle, den Bündelstamm zu finden, indem sie im aktuellen Arbeitsverzeichnis suchen.
Um die Artefakte im Kontext eines bestimmten Ziels bereitzustellen, geben Sie die Option -t
oder --target
zusammen mit dem Namen des Ziels an, der in den Bündelkonfigurationsdateien deklariert ist. Beispielsweise für ein Ziel, das mit dem Namen „dev
“ deklariert wird:
databricks bundle deploy -t dev
Schritt 5: Ausführen des Paktes
Um einen bestimmten Auftrag oder eine bestimmte Pipeline auszuführen, führen Sie den bundle run
Befehl aus dem Bundlestamm aus, und geben Sie den Auftrag oder den Pipelineschlüssel an, der in den Bundlekonfigurationsdateien deklariert ist. Der Ressourcenschlüssel ist das Element der obersten Ebene des YAML-Blocks der Ressource. Wenn Sie keinen Auftrag oder Pipelineschlüssel angeben, werden Sie aufgefordert, eine Ressource auszuwählen, die aus einer Liste der verfügbaren Ressourcen ausgeführt werden soll. Wenn die Option -t
nicht angegeben ist, wird das in den Bündelkonfigurationsdateien deklarierte Standardziel verwendet. So führen Sie beispielsweise einen Auftrag mit dem Schlüssel „hello_job
“ im Kontext des Standardziels aus:
databricks bundle run hello_job
So führen Sie einen Auftrag mit einem Schlüssel „hello_job
“ im Kontext eines Ziels aus, das mit dem Namen „dev
“ deklariert wurde:
databricks bundle run -t dev hello_job
Schritt 6: Zerstören des Pakets
Wenn Sie zuvor bereitgestellte Aufträge, Pipelines und Artefakte löschen möchten, führen Sie den bundle destroy
-Befehl aus demselben Verzeichnis aus, in dem sich auch der Bündelstamm befindet. Dieser Befehl löscht alle zuvor bereitgestellten Aufträge, Pipelines und Artefakte, die in den Bündelkonfigurationsdateien definiert sind:
databricks bundle destroy
Standardmäßig werden Sie aufgefordert, das dauerhafte Löschen der zuvor bereitgestellten Aufträge, Pipelines und Artefakte zu bestätigen. Um diese Eingabeaufforderungen zu überspringen und automatisch dauerhaft zu löschen, fügen Sie dem bundle destroy
-Befehl die Option --auto-approve
hinzu.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für