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.
Beim Erstellen des Bundles sollten Sie Databricks-Ressourcen einschließen, die bereits vorhanden sind und im Remotearbeitsbereich vollständig konfiguriert sind. Mit dem Befehl Databricks CLI bundle generate können Sie die Konfiguration in Ihrem Bundle für vorhandene Apps, Dashboards, Aufträge und Pipelines schnell automatisch generieren. Siehe „databricks bundle generate“. Die Konfiguration, die Sie kopieren und manuell in Paketressourcenkonfigurationsdateien einfügen können, ist in der Databricks-Benutzeroberfläche für einige Ressourcen verfügbar, z. B. Aufträge und Pipelines.
Nachdem Sie die Konfiguration für eine Ressource in Ihrem Bundle generiert und das Bundle bereitgestellt haben, verwenden Sie den bundle deployment bind Befehl, um eine Ressource in Ihrem Bundle an die entsprechende Ressource im Arbeitsbereich zu binden. Siehe Databricks Bundle-Bereitstellungsbindung.
Diese Seite enthält einfache Beispiele, die die Databricks CLI oder UI zum Generieren oder Abrufen der Bündelressourcenkonfiguration verwenden.
Ausführliche Informationen zu Ressourcendefinitionen in Bündeln finden Sie unter Databricks Asset Bundles-Ressourcen.
Generieren einer vorhandenen Auftrags- oder Pipelinekonfiguration mithilfe der Databricks CLI
So generieren Sie die Bundlekonfiguration für einen vorhandenen Auftrag oder eine vorhandene Pipeline programmgesteuert:
Rufen Sie die ID des vorhandenen Auftrags oder der Pipeline aus dem Detailbereich " Auftrag" oder " Pipelinedetails " für den Auftrag oder die Pipeline auf der Benutzeroberfläche ab. Alternativ können Sie die Databricks CLI
databricks jobs listoderdatabricks pipelines list-pipelinesverwenden.Führen Sie den
bundle generate job- oder denbundle generate pipelineDatabricks CLI-Befehl aus und legen Sie die Auftrags- oder die Pipeline-ID fest:databricks bundle generate job --existing-job-id 6565621249databricks bundle generate pipeline --existing-pipeline-id 6565621249Mit diesem Befehl wird eine Bündelkonfigurationsdatei für die Ressource im Ordner des Bundles
resourceserstellt und alle referenzierten Artefakte in densrcOrdner heruntergeladen.
Sie können auch eine Konfiguration für ein vorhandenes Dashboard generieren. Siehe databricks bundle generate dashboard.
Abrufen einer vorhandenen Auftragsdefinition mithilfe der Benutzeroberfläche
So rufen Sie die YAML-Darstellung einer vorhandenen Auftragsdefinition aus der Benutzeroberfläche des Azure Databricks-Arbeitsbereichs ab:
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 den Name-Link Ihres Jobs.
Klicken Sie neben der Schaltfläche " Jetzt ausführen " auf den Kebab, und klicken Sie dann auf "Als YAML bearbeiten".
Kopieren Sie das YAML, und fügen Sie es der Datei Ihres Bundles
databricks.ymlhinzu, oder erstellen Sie eine Konfigurationsdatei für Ihren Auftrag imresourcesVerzeichnis Ihres Bundleprojekts, und verweisen Sie darauf aus derdatabricks.ymlDatei. Siehe Ressourcen.Laden Sie python-Dateien und -Notizbücher herunter, die im vorhandenen Auftrag referenziert werden, und fügen Sie sie der Projektquelle des Bundles hinzu. Bündelartefakte befinden sich normalerweise im
srcVerzeichnis eines Bündels.Tipp
Sie können ein vorhandenes Notebook aus einem Azure Databricks-Arbeitsbereich in das
.ipynbFormat exportieren, in dem Sie in der Azure Databricks-Notebook-Benutzeroberfläche auf File > Export > IPython Notebook klicken.Nachdem Sie Notizbücher, Python-Dateien und andere Artefakte zum Bundle hinzugefügt haben, ändern Sie die Verweise auf diese Dateien in Ihrer Auftragsdefinition in ihren lokalen Speicherort. Wenn Sie beispielsweise eine
hello_job.job.ymlKonfigurationsdatei imresourcesOrdner Ihres Bündels hatten und ein Notizbuch mit dem Namenhello.ipynbin densrcOrdner Ihres Bündels heruntergeladen haben, lautet der Inhalt derhello_job.job.ymlDatei wie folgt:resources: jobs: hello_job: name: hello_job tasks: - task_key: hello_task notebook_task: notebook_path: ../src/hello.ipynb
Weitere Informationen zum Anzeigen von Aufträgen als Code auf der Benutzeroberfläche finden Sie unter Anzeigen von Aufträgen als Code.
Abrufen einer vorhandenen Pipelinedefinition mithilfe der Benutzeroberfläche
So rufen Sie die YAML-Darstellung einer vorhandenen Pipelinedefinition aus der Benutzeroberfläche des Azure Databricks-Arbeitsbereichs ab:
Klicken Sie in der Randleiste Ihres Azure Databricks-Arbeitsbereichs auf Aufträge und Pipelines.
Wählen Sie optional den Pipelinefilter aus.
Klicken Sie auf den Namen Ihrer Pipeline.
Klicken Sie neben der Schaltfläche Entwicklung auf
und dann auf Einstellungen YAML anzeigen.
Kopieren Sie das YAML der Pipelinedefinition im YaML-Dialogfeld "Pipelineeinstellungen " in die lokale Zwischenablage, indem Sie auf das Symbol "Kopieren" klicken.
Fügen Sie das YAML, das Sie kopiert haben, in die
databricks.yml-Datei Ihres Bundles ein oder erstellen Sie eine Konfigurationsdatei für Ihre Pipeline imresources-Ordner Ihres Bundleprojekts und verweisen Sie von Ihrerdatabricks.yml-Datei darauf. Siehe Ressourcen.Laden Sie alle Python-Dateien und -Notizbücher herunter, die im Quellcode des Projekts des Bundles referenziert werden, und fügen Sie sie hinzu. Bündelartefakte befinden sich normalerweise im
srcVerzeichnis eines Bündels.Tipp
Sie können ein vorhandenes Notebook aus einem Azure Databricks-Arbeitsbereich in das
.ipynbFormat exportieren, in dem Sie in der Azure Databricks-Notebook-Benutzeroberfläche auf File > Export > IPython Notebook klicken.Stellen Sie nach dem Hinzufügen Ihrer Notebooks, Python-Dateien und anderen Artefakte zum Bündel sicher, dass Ihre Pipelinedefinition korrekt auf diese verweist. Zum Beispiel für ein Notebook mit dem Namen
hello.ipynb, das sich im Verzeichnissrc/des Bundles befindet:resources: pipelines: hello_pipeline: name: hello_pipeline libraries: - notebook: path: ../src/hello.ipynb
Eine Ressource an ihr entferntes Gegenstück binden
Nachdem Sie Ihrem Bündel eine Ressource hinzugefügt haben, sollten Sie sicherstellen, dass die Ressource in Ihrem Bundle und die vorhandene Ressource im Arbeitsbereich synchronisiert bleiben. Mit dem bundle deployment bind Befehl können Sie sie verknüpfen. Wenn Sie eine Ressource binden, wird die verknüpfte Azure Databricks-Ressource im Arbeitsbereich basierend auf der konfiguration aktualisiert, die im Bundle im nächsten bundle deployPaket definiert ist.
Weitere Informationen zu bundle deployment bind und Informationen über den Ressourcen-Support finden Sie unter Databricks Bundle Deployment Bind.
Mit dem folgenden Befehl wird die Ressource hello_job an ihr Remote-Gegenstück im Arbeitsbereich gebunden. Es wird eine Bestätigung angezeigt, um sicherzustellen, dass Aktualisierungen der Auftragskonfiguration im Bundle auf den entsprechenden entfernten Auftrag angewendet werden, wenn das Bundle das nächste Mal bereitgestellt wird.
databricks bundle deployment bind hello_job 6565621249
Um die Verknüpfung zwischen einer Bündelressource und dessen Gegenstück im Arbeitsbereich zu entfernen, verwenden Sie bundle deployment unbind. Siehe databricks bundle deployment unbind.
databricks bundle deployment unbind hello_job
Migrieren einer Ressource, die in zwei Arbeitsbereichen vorhanden ist
In einigen Setups kann dieselbe Ressource in mehreren Arbeitsbereichen vorhanden sein. Beispielsweise kann sich der gleiche Auftrag in einer Entwicklung und einem Produktionsarbeitsbereich befinden. Wenn der vorhandene Auftrag dem Bundle hinzugefügt wird und das Bündel in einem dieser Arbeitsbereiche bereitgestellt wird, werden doppelte Aufträge erstellt. Um dies zu verhindern, verwenden databricks bundle generate Und databricks bundle deployment bind zusammen:
Definieren Sie die Entwicklungs- und Prodziele in Ihrem Bundle
databricks.yml.Generieren Sie die Bundlekonfiguration für die Ressource (in diesem Beispiel einen Auftrag) im Dev-Ziel:
databricks bundle generate job --existing-job-id <dev_job_id> –-target devDie Konfiguration der Ressource in prod unterscheidet sich wahrscheinlich von der Konfiguration der Ressource in Dev, sodass Sie nun die Konfiguration für die Ressource generiert haben, die produktionsspezifischen Einstellungen für die Ressource (im Prod-Ziel) im Bundle definieren.
targets: dev: default: true #... prod: #... resources: jobs: my_job: # Job prod settingsBinden Sie die Ressource im Bündel an den vorhandenen Auftrag in den Entwicklungs- und Prod-Zielen:
databricks bundle deployment bind my_job <dev_job_id> --target devdatabricks bundle deployment bind my_job <prod_job_id> --target prod
Das Bundle kann jetzt in den beiden Umgebungen bereitgestellt werden:
databricks bundle deploy --target dev
databricks bundle deploy --target prod