Partager via


Convertir un pipeline en projet Databricks Asset Bundle

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

Diagramme montrant les étapes spécifiques de conversion d’un pipeline existant en pack

Les étapes à suivre pour convertir un pipeline existant en un bundle sont les suivantes :

  1. Vérifiez que vous avez accès à un pipeline précédemment configuré que vous souhaitez convertir en bundle.
  2. 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.
  3. Générez une configuration pour l’offre groupée à partir du pipeline existant, à l’aide de l’interface CLI Azure Databricks.
  4. Passez en revue la configuration de bundle générée pour vous assurer qu’elle est terminée.
  5. Lier le bundle au pipeline d’origine.
  6. 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 :

É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.)

  1. Accédez à la racine du référentiel Git cloné sur votre ordinateur local.

  2. À 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-bundle
    
  3. Remplacez votre répertoire de travail actuel par ce nouveau dossier. Par exemple:

    cd ~/source/my-pipelines/ingestion/events/my-bundle
    
  4. Initialisez un nouveau bundle en exécutant :

    databricks bundle init
    

    Répondez aux invites. Une fois l’opération terminée, vous disposez d’un fichier de configuration de projet nommé databricks.yml dans 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 :

  • resources est le sous-répertoire de projet qui contient des fichiers de configuration de projet.
  • src est 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.yml sous le sous-répertoire resources. 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 :