Share via


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:

  1. Verwenden der Standardpaketvorlage
  2. Verwenden einer benutzerdefinierten Paketvorlage
  3. 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

  1. 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.

  2. 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
    
  3. Verwenden Sie Visual Studio Code, um eine Bundlekonfigurationsdatei im aktuellen Verzeichnis zu erstellen oder zu öffnen. Diese Datei muss den Namen databricks.yml haben.

  4. 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.

  5. Verwenden Sie die YAML-Sprachserverfunktionen, die Sie zuvor hinzugefügt haben. Weitere Informationen finden Sie in der Dokumentation Ihres YAML-Sprachservers.

Pycharm Professional

  1. 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
    
  2. 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.

  3. 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

  1. 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
    
  2. 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.

  3. 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.