Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lors de la génération de votre bundle, vous pouvez inclure des ressources Databricks qui existent déjà et qui sont entièrement configurées dans l’espace de travail distant. Vous pouvez utiliser la commande Databricks CLI bundle generate pour générer rapidement la configuration de votre offre groupée pour les applications existantes, les tableaux de bord, les travaux et les pipelines. Consultez databricks bundle generate. La configuration que vous pouvez copier et coller manuellement dans les fichiers de configuration des ressources groupées est disponible dans l’interface utilisateur Databricks pour certaines ressources, telles que les travaux et les pipelines.
Une fois que vous avez généré la configuration d’une ressource dans votre bundle et déployé le bundle, utilisez la bundle deployment bind commande pour lier une ressource dans votre bundle à la ressource correspondante dans l’espace de travail. Voir databricks bundle deployment bind.
Cette page fournit des exemples simples qui utilisent l’interface cli ou l’interface utilisateur Databricks pour générer ou récupérer la configuration des ressources groupées.
Pour plus d’informations sur les définitions de ressources dans les bundles, consultez les ressources Databricks Asset Bundles.
Générer une configuration de travail ou de pipeline existante à l’aide de l’interface CLI Databricks
Pour générer par programme une configuration groupée pour un travail ou un pipeline existant :
Récupérez l'ID du travail ou du pipeline existant à partir des Détails du travail ou des Détails du pipeline dans le panneau latéral de l'interface utilisateur pour le travail ou le pipeline. Vous pouvez également utiliser l’interface CLI
databricks jobs listou la commande Databricksdatabricks pipelines list-pipelines.Exécutez la commande
bundle generate jobbundle generate pipelineDatabricks, en définissant l’ID de travail ou de pipeline :databricks bundle generate job --existing-job-id 6565621249databricks bundle generate pipeline --existing-pipeline-id 6565621249Cette commande crée un fichier de configuration groupé pour la ressource dans le dossier du
resourcesbundle et télécharge tous les artefacts référencés dans lesrcdossier.
Vous pouvez également générer une configuration pour un tableau de bord existant. Consultez le tableau de bord de génération de bundle databricks.
Récupérer une définition de travail existante à l’aide de l’interface utilisateur
Pour récupérer la représentation YAML d’une définition de travail existante à partir de l’interface utilisateur de l’espace de travail Azure Databricks :
Dans la barre latérale de votre espace de travail Azure Databricks, cliquez sur Travaux & Pipelines.
Vous pouvez aussi sélectionner les filtres Travaux et Je suis le propriétaire.
Cliquez sur le lien Nom de votre travail.
À côté du bouton Exécuter maintenant, cliquez sur le menu (kebab), puis sur Modifier sous format YAML.
Copiez le fichier YAML et ajoutez-le au fichier de
databricks.ymlvotre bundle, ou créez un fichier de configuration pour votre travail dans leresourcesrépertoire de votre projet groupé et référencez-le à partir de votredatabricks.ymlfichier. Consultez les ressources.Téléchargez et ajoutez tous les fichiers et notebooks Python référencés dans la tâche existante à la source du projet du bundle. En règle générale, les artefacts groupés se trouvent dans le
srcrépertoire d’un bundle.Conseil / Astuce
Vous pouvez exporter un notebook existant à partir d’un espace de travail Azure Databricks dans le
.ipynbformat en cliquant sur File > Export > IPython Notebook à partir de l’interface utilisateur du notebook Azure Databricks.Après avoir ajouté vos notebooks, fichiers Python et autres artefacts au paquet, remplacez les références à ces fichiers dans votre définition de tâche par leur emplacement local. Par exemple, si vous aviez un
hello_job.job.ymlfichier de configuration dans leresourcesdossier de votre offre groupée et que vous avez téléchargé un bloc-notes nomméhello.ipynbdans lesrcdossier de votre bundle, le contenu duhello_job.job.ymlfichier serait le suivant :resources: jobs: hello_job: name: hello_job tasks: - task_key: hello_task notebook_task: notebook_path: ../src/hello.ipynb
Pour plus d’informations sur l’affichage des travaux en tant que code dans l’interface utilisateur, consultez Afficher les travaux en tant que code.
Récupérer une définition de pipeline existante à l’aide de l’interface utilisateur
Pour récupérer la représentation YAML d’une définition de pipeline existante à partir de l’interface utilisateur de l’espace de travail Azure Databricks :
Dans la barre latérale de votre espace de travail Azure Databricks, cliquez sur Travaux & Pipelines.
Si vous le souhaitez, sélectionnez le filtre Pipelines .
Cliquez sur le Nom de votre pipeline.
En regard du bouton Développement , cliquez sur
puis cliquez sur Afficher les paramètres YAML.
Copiez le YAML de la définition de pipeline dans la boîte de dialogue Paramètres de pipeline YAML dans le Presse-papiers local en cliquant sur l’icône de copie.
Ajoutez le fichier YAML que vous avez copié dans le fichier de
databricks.ymlvotre bundle, ou créez un fichier de configuration pour votre pipeline dans leresourcesdossier de votre projet groupé et référencez-le à partir de votredatabricks.ymlfichier. Consultez les ressources.Téléchargez et ajoutez tous les fichiers et notebooks Python référencés à l'ensemble du projet source. En règle générale, les artefacts groupés se trouvent dans le
srcrépertoire d’un bundle.Conseil / Astuce
Vous pouvez exporter un notebook existant à partir d’un espace de travail Azure Databricks dans le
.ipynbformat en cliquant sur File > Export > IPython Notebook à partir de l’interface utilisateur du notebook Azure Databricks.Après avoir ajouté vos notebooks, fichiers Python et autres artefacts au regroupement, assurez-vous que la définition de votre pipeline les référence correctement. Par exemple, pour un notebook nommé
hello.ipynbqui se trouve dans l’annuairesrc/du regroupement :resources: pipelines: hello_pipeline: name: hello_pipeline libraries: - notebook: path: ../src/hello.ipynb
Lier une ressource à son équivalent distant
En règle générale, une fois que vous avez ajouté une ressource à votre offre groupée, vous devez vous assurer que la ressource dans votre bundle et la ressource existante dans l’espace de travail restent synchronisées. La bundle deployment bind commande vous permet de les lier. Si vous liez une ressource, la ressource Azure Databricks liée dans l’espace de travail est mise à jour en fonction de la configuration définie dans le bundle suivant bundle deploy.
Pour plus d’informations sur bundle deployment bind et sur la prise en charge des ressources, consultez le déploiement du bundle databricks.
La commande suivante lie la ressource hello_job à son équivalent distant dans l’espace de travail. Vous demande de confirmer que les mises à jour de la configuration de la tâche dans le paquet doivent s'appliquer à la tâche distante correspondante lors du prochain déploiement du paquet.
databricks bundle deployment bind hello_job 6565621249
Pour supprimer le lien entre une ressource groupée et son équivalent dans l’espace de travail, utilisez bundle deployment unbind. Consultez databricks bundle deployment unbind.
databricks bundle deployment unbind hello_job
Migrer une ressource qui existe dans deux espaces de travail
Dans certaines configurations, la même ressource peut exister dans plusieurs espaces de travail. Par exemple, la même tâche peut se trouver dans un espace de développement et un espace de production. Si la tâche existante est ajoutée à l'ensemble et que l'ensemble est déployé sur l'un de ces environnements de travail, des tâches en double sont créées. Pour éviter cela, utilisez databricks bundle generate et databricks bundle deployment bind ensemble :
Définissez les cibles dev et prod dans votre bundle
databricks.yml.Générez la configuration de bundle pour la ressource (dans cet exemple, un travail) dans la cible de développement :
databricks bundle generate job --existing-job-id <dev_job_id> –-target devLa configuration de la ressource dans prod sera probablement différente de la configuration de la ressource dans le développement. Ainsi, maintenant que vous avez généré la configuration de la ressource, définissez les paramètres spécifiques à la production pour la ressource (dans la cible prod) dans le bundle.
targets: dev: default: true #... prod: #... resources: jobs: my_job: # Job prod settingsLiez la ressource dans le bundle au travail existant dans les cibles de développement et de production :
databricks bundle deployment bind my_job <dev_job_id> --target devdatabricks bundle deployment bind my_job <prod_job_id> --target prod
L’offre groupée peut maintenant être déployée dans les deux environnements :
databricks bundle deploy --target dev
databricks bundle deploy --target prod