Convertir un pipeline en projet de bundle
Vous pouvez convertir un pipeline existant en un projet Declarative Automation Bundles. Les bundles vous permettent de définir et de gérer votre configuration de traitement de données Databricks dans un fichier YAML unique à contrôle de source, ce qui facilite la maintenance et permet un déploiement automatisé vers les environnements cibles.
Pour un tutoriel qui utilise les commandes databricks pipelines pour créer un projet de pipelines, puis déploie et exécute un pipeline, consultez Développer des pipelines avec des bundles d’automatisation déclaratifs.
Présentation du processus de conversion

Les étapes à suivre pour convertir un pipeline existant en bundle sont :
- Assurez-vous d'avoir accès à un pipeline préalablement configuré que vous souhaitez convertir en bundle.
- Créez ou préparez un dossier (de préférence dans une hiérarchie gérée par la source) pour stocker le bundle.
- Générez une configuration pour le bundle à partir du pipeline existant, à l'aide de la CLI Databricks.
- Examinez la configuration du bundle générée pour vous assurer qu'elle est complète.
- Link the bundle au pipeline original.
- Déployez le pipeline vers un Workspace cible à l'aide de la configuration du bundle.
Exigences
Avant de vous start, vous devez avoir :
- Le Databricks CLI installé sur votre machine de développement locale. La version 0.218.0 ou supérieure du Databricks CLI est requise pour utiliser les Declarative Automation Bundles.
- L'ID d'un pipeline déclaratif existant que vous gérerez avec un bundle. Pour savoir comment obtenir cet ID, consultez Obtenir une définition de pipeline existante à l'aide de l'interface utilisateur.
- Autorisation pour le Workspace Databricks où le pipeline existant s'exécute. Pour configurer l'authentification et l'autorisation pour vos appels CLI Databricks, consultez Autoriser l'accès aux Ressources Databricks.
- Pour l'ensemble complet des privilèges requis pour créer, exécuter, refresh et consulter les pipelines et leur sortie, consultez Gérer les identités, les autorisations et les privilèges pour les pipelines.
Étape 1 : Mettre en place un dossier pour votre projet de bundle
Vous devez avoir accès à un repository Git qui est configuré dans Databricks en tant que dossier Git. Vous créerez votre projet de bundle dans ce repository, ce qui appliquera le contrôle de code source et le rendra disponible à d'autres collaborateurs via un dossier Git dans le workspace Databricks correspondant. (Pour plus de détails sur les dossiers Git, consultez les dossiers Git Databricks.)
-
Accédez à la racine du repository Git cloné sur votre machine locale.
-
Dans un emplacement approprié de la hiérarchie des dossiers, créez un dossier spécifiquement pour votre projet de bundle. Par exemple :
Bashmkdir -p ~/source/my-pipelines/ingestion/events/my-bundle -
Modifiez votre répertoire de travail actuel en ce nouveau dossier. Par exemple :
Bashcd ~/source/my-pipelines/ingestion/events/my-bundle -
Initialisez un nouveau bundle en exécutant :
Bashdatabricks bundle initRépondez aux invites. Une fois terminée, vous disposerez d’un fichier de configuration de projet nommé
databricks.ymldans le nouveau dossier d’accueil de votre projet. Ce fichier est requis pour le déploiement de votre pipeline à partir de la ligne de commande. Pour plus de détails sur ce fichier de configuration, consultez la configuration des Declarative Automation Bundles.
Étape 2 : Générer la configuration du pipeline
À partir de ce nouveau répertoire dans l'arborescence des dossiers de votre repository Git cloné, exécutez la commande bundle generate de la CLI Databricks, en fournissant l'ID de votre pipeline comme <pipeline-id>:
databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>
Lorsque vous exécutez la commande generate, un fichier de configuration de bundle est créé pour votre pipeline dans le dossier resources du bundle et tous les artefacts référencés sont téléchargés dans le dossier src. Le --profile (ou l'indicateur -p) est facultatif, mais si vous avez un profil de configuration Databricks spécifique (défini dans votre fichier .databrickscfg créé lors de l'installation de l'interface de ligne de commande Databricks) que vous préférez utiliser au lieu du profil default, fournissez-le dans cette commande. Pour plus d'informations sur les profils de configuration Databricks, consultez les profils de configuration Databricks.
Si vous avez un projet Spark Declarative Pipelines (SDP) existant (il contient un fichier spark-pipeline.yml), vous pouvez copier ce projet de pipeline dans le dossier src du bundle, puis utiliser la commande databricks pipelines generate pour générer la configuration du bundle. Voir générer des pipelines Databricks.
Étape 3 : examiner les fichiers du projet groupé
Lorsque la commande bundle generate est terminée, elle aura créé deux nouveaux dossiers :
resourcesest le sous-répertoire du projet qui contient les fichiers de configuration du projet.srcest le dossier de projet où sont stockés les fichiers source, tels que les queries et les notebooks.
La commande crée également des fichiers supplémentaires :
*.pipeline.ymlsous le sous-répertoireresources. Ce fichier contient la configuration et les paramètres spécifiques de votre pipeline.- Fichiers source tels que les requêtes SQL sous le sous-répertoire
src, copiés de votre pipeline existant.
├── databricks.yml # Project configuration file created with the bundle init command
├── resources/
│ └── {your-pipeline-name.pipeline}.yml # Pipeline configuration
└── src/
└── {source folders and files...} # Your pipeline's declarative queries
Étape 4 : liez le pipeline de bundle à votre pipeline existant
Vous devez link, ou lier , la définition du pipeline dans le bundle à votre pipeline existant afin de le maintenir à jour à mesure que vous apportez des modifications. Pour ce faire, exécutez la commande de liaison de déploiement de bundle de la CLI Databricks :
databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>
<pipeline-name> est le nom du pipeline. Le nom doit être identique à la valeur de chaîne préfixée du nom de fichier pour la configuration du pipeline dans votre nouveau répertoire resources. Par exemple, si vous avez un fichier de configuration de pipeline nommé ingestion_data_pipeline.pipeline.yml dans votre dossier resources, vous devez fournir ingestion_data_pipeline comme nom de pipeline.
<pipeline-ID> est l'ID de votre pipeline. Il est identique à celui que vous avez copié dans le cadre des exigences de ces instructions.
Étape 5 : Déployer votre pipeline à l'aide de votre nouveau bundle
Maintenant, déployez votre bundle de pipeline vers votre workspace cible à l'aide de la CLI Databricks commande de déploiement de bundle:
databricks bundle deploy --target <target-name> --profile <profile-name>
L'indicateur --target est obligatoire et doit être défini sur une chaîne de caractères qui correspond à un nom de workspace cible configuré, tel que development ou production.
Si cette commande réussit, vous disposez maintenant de la configuration de votre pipeline dans un projet externe qui peut être chargé dans d'autres Workspaces et exécuté, et facilement partagé avec d'autres utilisateurs Databricks de votre compte.
Dépannage
Problème | Solutions |
|---|---|
Erreur « | Actuellement, la commande |
Les paramètres de pipeline existants ne correspondent pas aux valeurs de la configuration YAML du pipeline généré. | L'ID du pipeline n'apparaît pas dans le fichier YML de configuration du bundle. Si vous remarquez d'autres paramètres manquants, vous pouvez les appliquer manuellement. |
Conseils pour la réussite
- Utilisez toujours le contrôle de version. Si vous n'utilisez pas les dossiers Git Databricks, stockez les sous-répertoires et les fichiers de votre projet dans un repository Git ou un autre système de fichiers sous gestion de version.
- Testez votre pipeline dans un environnement hors production (tel qu'un environnement « développement » ou « test ») avant de le déployer dans un environnement de production. Il est facile d'introduire une mauvaise configuration par accident.
Ressources supplémentaires
Pour plus d'informations sur l'utilisation de bundles pour définir et gérer le traitement des données, voir :
- Que sont les Declarative Automation Bundles ?
- Développer des pipelines avec des Declarative Automation Bundles. Cette rubrique couvre la création d'un bundle pour un nouveau pipeline plutôt que pour un pipeline existant, avec des fichiers sources sous contrôle de version pour le traitement que vous fournissez.