bundle-Befehlsgruppe

Hinweis

Diese Informationen gelten für die Databricks CLI-Version 0.218 und höhere Versionen. Führen Sie databricks -v aus, um die Version Ihrer Databricks CLI zu ermitteln.

Die bundle-Befehlsgruppe der Databricks CLI ermöglicht Ihnen die programmgesteuerte Überprüfung, Bereitstellung und Ausführung von Azure Databricks-Workflows wie Azure Databricks-Aufträge, Delta Live Tables-Pipelines und MLOps Stacks. Weitere Informationen finden Sie unter Was sind Databricks-Ressourcenbundles?.

Wichtig

Bevor Sie die Databricks CLI verwenden, müssen Sie die Databricks CLI einrichten und die Authentifizierung für die Databricks CLI einrichten.

Sie führen bundle-Befehle aus, indem Sie sie an databricks bundle anfügen. Führen Sie databricks bundle -h aus, um Hilfe zum bundle-Befehl anzuzeigen.

Erstellen eines Bündels auf der Grundlage einer Projektvorlage

Um ein Databricks-Ressourcenbundle mithilfe der standardmäßigen Databricks-Ressourcenbundlevorlage für Python zu erstellen, führen Sie den bundle init-Befehl wie folgt aus, und beantworten Sie dann die Eingabeaufforderungen auf dem Bildschirm:

databricks bundle init

Um ein Databricks-Ressourcenbundle unter Verwendung einer anderen entsprechenden Vorlage zu erstellen, führen Sie den bundle init-Befehl wie folgt aus:

databricks bundle init <project-template-local-path-or-url> \
--project-dir="</local/path/to/project/template/output>"

Siehe auch:

Anzeigen des Bündelkonfigurationsschemas

Führen Sie den bundle schema-Befehl wie folgt aus, um das Konfigurationsschema des Databricks-Ressourcenbundles anzuzeigen:

databricks bundle schema

Wenn Sie das Konfigurationsschema des Databricks-Ressourcenbundles als JSON-Datei ausgeben möchten, können Sie den bundle schema-Befehl ausführen und die Ausgabe an eine JSON-Datei umleiten. Gehen Sie beispielsweise wie folgt vor, um eine Datei namens bundle_config_schema.json im aktuellen Verzeichnis zu erstellen:

databricks bundle schema > bundle_config_schema.json

Überprüfen eines Bündels

Führen Sie den bundle validate- Befehl im Stammverzeichnis des Bundle-Projekts aus, um zu überprüfen, ob Ihre Bundle-Konfigurationsdateien syntaktisch korrekt sind:

databricks bundle validate

Synchronisieren der Struktur eines Bündels mit einem Arbeitsbereich

Verwenden Sie den Befehl bundle sync, um eine unidirektionale Synchronisierung der Dateiänderungen eines Bündels innerhalb eines lokalen Dateisystemverzeichnisses mit einem Verzeichnis innerhalb eines Azure Databricks-Remotearbeitsbereichs durchzuführen.

Hinweis

Mit bundle sync-Befehlen können Dateiänderungen aus einem Verzeichnis innerhalb eines Azure Databricks-Remotearbeitsbereichs nicht mit einem Verzeichnis innerhalb eines lokalen Dateisystems synchronisiert werden.

databricks bundle sync-Befehle funktionieren auf die gleiche Weise wie databricks bundle-Befehle und werden zur Verbesserung der Produktivität bereitgestellt. Informationen zur Befehlssyntax finden Sie unter Synchronisierungsbefehlsgruppe.

Generieren einer Bündelkonfigurationsdatei

Sie können den bundle generate-Befehl verwenden, um die Ressourcenkonfiguration für einen Auftrag oder eine Pipeline zu generieren, die bereits in Ihrem Databricks-Arbeitsbereich vorhanden ist. Dieser Befehl generiert eine *.yml-Datei für den Auftrag oder die Pipeline im resources-Ordner des Bundleprojekts und lädt auch alle Notebooks herunter, auf die in der Auftrags- oder Pipelinekonfiguration verwiesen wird. Derzeit werden nur Aufträge mit Notebookaufgaben von diesem Befehl unterstützt.

Wichtig

Der bundle generate-Befehl wird aus Benutzerfreundlichkeit bereitgestellt, um die Ressourcenkonfiguration automatisch zu generieren. Wenn diese Konfiguration jedoch im Bündel enthalten ist und bereitgestellt wird, erstellt sie eine neue Ressource und aktualisiert die vorhandene Ressource nur, wenn bundle deployment bind zuerst für die Ressource verwendet wurde.

Führen Sie den bundle generate-Befehl folgendermaßen aus:

databricks bundle generate [job|pipeline] --existing-[job|pipeline]-id [job-id|pipeline-id]

Der folgende Befehl generiert z. B. eine neue hello_job.yml-Datei im resources-Paketprojektordner, der das folgende YAML enthält, und lädt simple_notebook.py in den src-Projektordner herunter.

databricks bundle generate job --existing-job-id 6565621249
# This is the contents of the resulting hello_job.yml file.
resources:
  jobs:
    6565621249:
      name: Hello Job
      format: MULTI_TASK
      tasks:
        - task_key: run_notebook
          existing_cluster_id: 0704-xxxxxx-yyyyyyy
          notebook_task:
            notebook_path: ./src/simple_notebook.py
            source: WORKSPACE
          run_if: ALL_SUCCESS
      max_concurrent_runs: 1

Binden von Bündelressourcen

Mit dem bundle deployment bind-Befehl können Sie in Paketen definierte Aufträge und Pipelines mit vorhandenen Aufträgen und Pipelines im Azure Databricks-Arbeitsbereich verknüpfen, sodass sie von Databricks-Ressourcenpaketen verwaltet werden. Wenn Sie eine Ressource binden, werden vorhandene Azure Databricks-Ressourcen im Arbeitsbereich basierend auf der Konfiguration aktualisiert, die in dem Bündel definiert ist, an das sie nach dem nächsten bundle deploy gebunden ist.

Tipp

Es ist ratsam, den Bündelarbeitsbereich vor dem Ausführen der Bindung zu bestätigen.

databricks bundle deployment bind [resource-key] [resource-id]

Der folgenden Befehl bindet die Ressource hello_job beispielsweise an das Remote-Gegenstück im Arbeitsbereich. Der Befehl gibt einen Diff aus und ermöglicht es Ihnen, die Ressourcenbindung zu verweigern, aber wenn bestätigt, werden alle Aktualisierungen der Auftragsdefinition im Bündel auf den entsprechenden Remoteauftrag angewendet, wenn das Bündel das nächste Mal bereitgestellt wird.

databricks bundle deployment bind hello_job 6565621249

Verwenden Sie bundle deployment unbind, wenn Sie die Verknüpfung zwischen dem Auftrag oder der Pipeline in einem Paket und dessen Remotegegenstück in einem Arbeitsbereich entfernen möchten.

databricks bundle deployment unbind [resource-key]

Bereitstellen eines Bündels

Um alle angegebenen lokalen Artefakte für den Remote-Arbeitsbereich bereitzustellen, führen Sie den bundle deploy-Befehl aus dem Bündelprojektstamm aus. Wenn keine Befehlsoptionen angegeben sind, wird die Standardumgebung verwendet, die in den Bündelkonfigurationsdateien deklariert ist:

databricks bundle deploy

Tipp

Sie können databricks bundle-Befehle außerhalb des Bündelstamms ausführen. Wenn dies der Grund ist, können Sie den Stammpfad des Bündels angeben, indem Sie die Umgebungsvariable „BUNDLE_ROOT“ 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 einer bestimmten Umgebung bereitzustellen, geben Sie die Option -e (oder --environment) zusammen mit dem Namen der Umgebung an, wie in den Bündelkonfigurationsdateien deklariert. Führen Sie beispielsweise für eine Umgebung, die mit dem Namen development deklariert wurde, den folgenden Befehl aus:

databricks bundle deploy -e development

Ausführen eines Bündels

Um einen bestimmten Auftrag oder eine bestimmte Pipeline auszuführen, verwenden Sie den bundle run-Befehl. Sie müssen den in den Bündelkonfigurationsdateien deklarierten Ressourcenschlüssel des Auftrags oder die dort deklarierte Pipeline angeben. Standardmäßig wird die in den Bündelkonfigurationsdateien deklarierte Umgebung verwendet. Um beispielsweise einen Auftrag hello_job in der Standardumgebung auszuführen, führen Sie den folgenden Befehl aus:

databricks bundle run hello_job

Verwenden Sie die -e-Option, um die Umgebung anzugeben, in der ein Auftrag ausgeführt werden soll. Das folgende Beispiel führt hello_job in der development-Umgebung aus:

databricks bundle run -e development hello_job

Wenn Sie eine Pipelinevalidierung ausführen möchten, verwenden Sie die --validate-only-Option, wie im folgenden Beispiel gezeigt:

databricks bundle run --validate-only my_pipeline

Um Auftragsparameter zu übergeben, verwenden Sie die Option --params gefolgt von kommagetrennten Schlüsselwertpaaren, wobei der Schlüssel der Parametername ist. Beispielsweise legt der folgende Befehl den Parameter mit dem Namen message auf HelloWorld für den Auftrag hello_job fest:

databricks bundle run --params message=HelloWorld hello_job

Hinweis

Sie können Parameter an Auftragsaufgaben übergeben, indem Sie die Auftragsaufgabenoptionen verwenden, aber die Option --params ist die empfohlene Methode zum Übergeben von Auftragsparametern. Ein Fehler tritt auf, wenn Auftragsparameter für einen Auftrag angegeben werden, für die keine Auftragsparameter definiert sind, oder wenn Vorgangsparameter für einen Auftrag angegeben werden, für den Auftragsparameter definiert sind.

Um eine vorhandene Auftragsausführung oder ein vorhandenes Pipelineupdate abzubrechen und neu zu starten, verwenden Sie die Option --restart:

databricks bundle run --restart hello_job

Zerstören eines Bündels

Um zuvor bereitgestellte Aufträge, Pipelines und Artefakte zu löschen, führen Sie den bundle destroy-Befehl aus. Der folgende 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.