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.
Cet article explique comment convertir un pipeline existant en projet Databricks Asset Bundles . Les offres groupées vous permettent de définir et de gérer votre configuration de traitement des données Azure Databricks dans un seul fichier YAML contrôlé par la source qui facilite la maintenance et permet un déploiement automatisé dans des environnements cibles.
Vue d’ensemble du processus de conversion
Les étapes à suivre pour convertir un pipeline existant en un bundle sont les suivantes :
- Vérifiez que vous avez accès à un pipeline précédemment configuré que vous souhaitez convertir en bundle.
- Créez ou préparez un dossier (de préférence dans une hiérarchie contrôlée par la source) pour stocker le bundle.
- Générez une configuration pour l’offre groupée à partir du pipeline existant, à l’aide de l’interface CLI Azure Databricks.
- Passez en revue la configuration de bundle générée pour vous assurer qu’elle est terminée.
- Lier le bundle au pipeline d’origine.
- Déployez le pipeline sur un espace de travail cible à l’aide de la configuration du bundle.
Spécifications
Avant de commencer, vous devez avoir :
- L’interface CLI Databricks installée sur votre ordinateur de développement local. Databricks CLI version 0.218.0 ou ultérieure est nécessaire pour utiliser les bundles de ressources Databricks.
- ID d’un pipeline déclaratif existant que vous allez gérer 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 l'espace de travail Azure Databricks où le pipeline existant fonctionne. Pour configurer l’authentification et l’autorisation pour vos appels Azure Databricks CLI, consultez Autoriser l’accès aux ressources Azure Databricks.
Étape 1 : Configurer un dossier pour votre projet groupé
Vous devez avoir accès à un référentiel Git configuré dans Azure Databricks en tant que dossier Git. Vous allez créer votre projet groupé dans ce référentiel, qui applique le contrôle de code source et le rendre disponible pour d’autres collaborateurs via un dossier Git dans l’espace de travail Azure Databricks correspondant. (Pour plus d’informations sur les dossiers Git, consultez dossiers Git Azure Databricks.)
Accédez à la racine du référentiel Git cloné sur votre ordinateur local.
À un emplacement approprié dans la hiérarchie des dossiers, créez un dossier spécifiquement pour votre projet groupé. Par exemple:
mkdir - p ~/source/my-pipelines/ingestion/events/my-bundleRemplacez votre répertoire de travail actuel par ce nouveau dossier. Par exemple:
cd ~/source/my-pipelines/ingestion/events/my-bundleInitialisez un nouveau bundle en exécutant :
databricks bundle initRépondez aux invites. Une fois l’opération terminée, vous disposez 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 d’informations sur ce fichier de configuration, consultez Configuration du pack de ressources Databricks.
Étape 2 : Générer la configuration du pipeline
À partir de ce nouveau répertoire dans l’arborescence de dossiers de votre référentiel Git cloné, exécutez la commande bundle generate de l'Azure Databricks CLI, en fournissant l’ID de votre pipeline comme suit :
databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>
Lorsque vous exécutez la generate commande, elle crée un fichier de configuration groupé pour votre pipeline dans le dossier du resources bundle et télécharge tous les artefacts référencés dans le src dossier. Le --profile (ou -p l’indicateur) est facultatif, mais si vous avez un profil de configuration Databricks spécifique (défini dans votre .databrickscfg fichier créé lorsque vous avez installé l’interface CLI Azure Databricks) que vous préférez utiliser au lieu du profil par défaut, fournissez-le dans cette commande. Pour plus d’informations sur les profils de configuration Databricks, consultez profils de configuration Azure Databricks.
Étape 3 : Passer en revue les fichiers projet groupés
Une fois la commande bundle generate terminée, elle a créé deux nouveaux dossiers :
-
resourcesest le sous-répertoire de projet qui contient des fichiers de configuration de projet. -
srcest le dossier du projet dans lequel les fichiers sources, tels que les requêtes et les notebooks, sont stockés.
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 sources tels que les requêtes SQL dans le sous-répertoire
src, copiés depuis 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 : Lier le pipeline du pack à votre pipeline existant
Vous devez lier la définition de pipeline dans le pack à votre pipeline existant afin de le maintenir à jour au fur et à mesure que vous apportez des modifications. Pour ce faire, exécutez la commande suivante dans Azure Databricks CLI : bundle deployment bind command.
databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>
<pipeline-name> est le nom du pipeline. Ce nom doit être identique à la valeur de chaîne préfixée du nom de fichier de 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 en tant que nom de pipeline.
<pipeline-ID> correspond à l’ID de votre pipeline. Il est identique à celui que vous avez copié dans le cadre des conditions requises pour ces instructions.
Étape 5 : Déployer votre pipeline à l’aide de votre nouveau bundle
À présent, déployez votre bundle de pipelines sur votre espace de travail cible à l’aide de la commande azure Databricks CLI bundle deploy :
databricks bundle deploy --target <target-name> --profile <profile-name>
L’indicateur --target est requis et doit être défini sur une chaîne qui correspond à un nom d’espace de travail 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 espaces de travail et exécutés, et facilement partagé avec d’autres utilisateurs Azure Databricks dans votre compte.
Résolution des problèmes
| Problème | Solution |
|---|---|
Erreur «databricks.yml introuvable » lors de l’exécution de bundle generate |
Actuellement, la bundle generate commande ne crée pas automatiquement le fichier de configuration d’offre groupée (databricks.yml). Vous devez créer le fichier à l’aide de databricks bundle init ou manuellement. |
| Les paramètres de pipeline existants ne correspondent pas aux valeurs de la configuration YAML du pipeline généré | L’ID de pipeline n’apparaît pas dans le fichier YML de configuration de 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 de dossiers Databricks Git, stockez les sous-répertoires et fichiers de votre projet dans un référentiel git ou un autre système de fichiers contrôlé par la version.
- Testez votre pipeline dans un environnement hors production (par exemple, un environnement de « développement » ou de « 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 d’offres groupées pour définir et gérer le traitement des données, consultez :
- Qu'est-ce que les groupes de ressources Databricks ?
- Développez des pipelines déclaratifs Spark Lakeflow avec des bundles de ressources Databricks. Cette rubrique traite de 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 fournis par vous.