Aller au contenu principal

Créer des bundles dans le Workspace

Les Declarative Automation Bundles peuvent être créés et modifiés directement dans le Workspace.

Pour connaître les exigences d'utilisation des bundles dans le workspace, consultez Exigences relatives aux bundles d'automatisation déclaratifs dans le workspace.

Pour plus d'informations sur les bundles, consultez Que sont les Bundles d'Automatisation Déclaratifs ?

Créer un bundle

Pour créer un bundle dans le workspace Databricks :

  1. Accédez au dossier Git où vous souhaitez créer votre bundle.

  2. Cliquez sur le bouton Créer , puis cliquez sur Regrouper . Alternativement, cliquez avec le bouton droit sur le dossier Git ou sur son menu kebab associé dans l'arborescence du workspace et cliquez sur Créer > Bundle :

    Créer un bundle

  3. Dans la boîte de dialogue **Créer un bundle**, donnez un nom au bundle, tels que *totally-awesome-bundle*. Le nom du bundle ne peut contenir que des lettres, des chiffres, des tirets et des traits de soulignement.

  4. Pour le **Template**, choisissez si vous souhaitez créer un bundle à l'aide d'un template personnalisé, un bundle vide, un bundle qui exécute un notebook Python exemple, ou un bundle qui exécute du SQL. Si vous avez l'éditeur Lakeflow Pipelines activé, vous verrez également une option pour créer un projet de pipeline ETL. Tous les Templates personnalisés configurés dans le Workspace seront également disponibles.

    Boîte de dialogue de création d'un nouveau bundle

  5. Certains Templates nécessitent une configuration supplémentaire. Cliquez sur Suivant pour terminer la configuration du projet.

Modèle

Options de configuration

LakeFlow Pipelines

  • Catalogue default à utiliser pour les données du pipeline
  • Utilisez un schéma personnel (recommandé) pour chaque utilisateur collaborant sur ce bundle
  • Langue initiale pour les fichiers de code dans le pipeline

default Python

  • Incluez un exemple de notebook
  • Incluez un exemple de pipeline
  • Inclure un exemple de package Python
  • Utilisez le compute serverless

SQL default

  • Chemin du SQL warehouse
  • Catalogue initial
  • Utilisez un schéma personnel
  • Schéma initial pendant le développement

Modèle

Options de configuration

LakeFlow Pipelines

  • Catalogue default à utiliser pour les données du pipeline
  • Utilisez un schéma personnel (recommandé) pour chaque utilisateur collaborant sur ce bundle
  • Langue initiale pour les fichiers de code dans le pipeline

default Python

  • Incluez un exemple de notebook
  • Incluez un exemple de pipeline
  • Inclure un exemple de package Python
  • Utilisez le compute serverless

SQL default

  • Chemin du SQL warehouse
  • Catalogue initial
  • Utilisez un schéma personnel
  • Schéma initial pendant le développement
  1. Cliquez sur Créer et déployer .

Cela crée un bundle initial dans le dossier Git, qui comprend les fichiers du template de projet que vous avez sélectionné, un fichier de configuration Git .gitignore et le fichier databricks.yml des Declarative Automation Bundles requis. Le fichier databricks.yml contient la configuration principale du bundle. Pour plus de détails, consultez la configuration des Declarative Automation Bundles.

Nouveau bundle.

Toute modification apportée aux fichiers du bundle peut être synchronisée avec le repository distant associé au dossier Git. Un dossier Git peut contenir plusieurs bundles.

Ajoutez de nouveaux fichiers à un bundle

Un bundle contient le fichier databricks.yml qui définit les configurations de déploiement et de Workspace, des fichiers source, tels que des Notebooks, des fichiers Python et des fichiers de test, ainsi que les définitions et paramètres pour les ressources Databricks, tels que les Lakeflow Jobs et les Lakeflow Pipelines. Similaire à n'importe quel dossier de Workspace, vous pouvez ajouter de nouveaux fichiers à votre bundle.

astuce

Pour ouvrir un nouveau tab vers l'affichage du bundle qui vous permet de modifier les fichiers du bundle, accédez au dossier du bundle dans le Workspace, puis cliquez sur Open in editor à droite du nom du bundle.

Ajouter des fichiers de code source

Pour ajouter de nouveaux notebooks ou d'autres fichiers à un bundle dans l'interface utilisateur du Workspace, naviguez vers le dossier de bundle, puis :

  • Cliquez sur Créer en haut à droite et choisissez l'un des types de fichiers suivants à ajouter à votre bundle : Notebook, Fichier, query, Tableau de bord.
  • Vous pouvez aussi cliquer sur le kebab à gauche de Share et importer un fichier.
remarque

Pour que le fichier fasse partie du déploiement du bundle, après avoir ajouté un fichier à votre dossier de bundle, vous devez l'ajouter à la configuration du bundle databricks.yml, ou créer un fichier de définition de Job ou de pipeline qui l'inclut. Consultez Ajouter une ressource existante à un bundle.

Créer une définition de ressource

Les bundles contiennent des définitions de Ressources telles que des Jobs et des pipelines à inclure dans un déploiement. Lorsque le bundle est déployé, les Ressources définies dans le bundle sont créées dans le Workspace (ou mises à jour si elles ont déjà été déployées). Ces définitions sont spécifiées en YAML ou Python, et vous pouvez créer et modifier ces configurations directement dans l'interface utilisateur.

  1. Accédez au dossier de bundle dans le Workspace où vous souhaitez définir une nouvelle Ressource.
astuce

Si vous avez déjà ouvert le bundle dans l'éditeur du Workspace, vous pouvez utiliser la liste des contextes de création du navigateur Workspace pour naviguer vers le dossier du bundle. Voir Contextes de création.

  1. À droite du nom du bundle, cliquez sur Ouvrir dans l'éditeur pour accéder à l'affichage de l'éditeur de bundle.

  2. Cliquez sur l'icône de déploiement du bundle pour passer au panneau Déploiements .

    Icône du panneau de déploiements

  3. Dans la section Ressources du bundle , cliquez sur Ajouter , puis choisissez une définition de ressource à créer.

Nouvelle définition de Job

Pour créer un fichier de configuration de bundle qui définit un job :

  1. Dans la section Ressources du bundle du panneau Déploiements , cliquez sur Ajouter , puis sur Nouvelle définition de job .

    Créer une définition de job

  2. Saisissez un nom pour le job dans le champ Nom du job de la boîte de dialogue Créer une définition de job . Cliquez sur **Créer**.

  3. Ajoutez du YAML au fichier de définition du Job qui a été créé. L'exemple YAML suivant définit un Job qui exécute un Notebook :

    YAML
    resources:
    jobs:
    run_notebook:
    name: run-notebook
    queue:
    enabled: true
    tasks:
    - task_key: my-notebook-task
    notebook_task:
    notebook_path: ../helloworld.ipynb

Pour plus de détails sur la définition d'un job en YAML, consultez job. Pour la syntaxe YAML d'autres types de tâches de job pris en charge, consultez Ajouter des tâches aux jobs dans les lots d'automatisation déclarative.

Nouvelle définition de pipeline

remarque

Si vous avez activé le LakeFlow Pipelines Editor dans votre Workspace, voir Nouveau pipeline ETL.

Pour ajouter une définition de pipeline à votre bundle :

  1. Dans la section **Ressources du bundle** du panneau **Déploiements**, cliquez sur **Ajouter**, puis sur **Nouvelle définition de pipeline**.

  2. Saisissez un nom pour le pipeline dans le champ **Nom du pipeline** de la boîte de dialogue **Ajouter un pipeline au bundle existant**.

  3. Cliquez sur Ajouter et déployer .

Pour un pipeline nommé test_pipeline qui exécute un notebook, le fichier test_pipeline.pipeline.yml contient le code YAML suivant :

YAML
resources:
pipelines:
test_pipeline:
name: test_pipeline
libraries:
- notebook:
path: ../test_pipeline.ipynb
serverless: true
catalog: main
target: test_pipeline_${bundle.environment}

Vous pouvez modifier la configuration pour exécuter un Notebook existant. Pour plus de détails sur la définition d'un pipeline en YAML, consultez pipeline.

Nouveau pipeline ETL

Pour ajouter une nouvelle définition de pipeline ETL :

  1. Dans la section Ressources du bundle du panneau Déploiements , cliquez sur Ajouter , puis sur Nouvelle pipeline ETL .

  2. Saisissez un nom pour le pipeline dans le champ **Nom** de la boîte de dialogue **Ajouter un pipeline au bundle existant**. Le nom doit être unique dans le Workspace.

  3. Pour le champ Utiliser un schéma personnel , sélectionnez Oui pour les scénarios de développement et Non pour les scénarios de production.

  4. Sélectionnez un default catalog et un default schema pour le pipeline.

  5. Choisissez une langue pour le code source du pipeline.

  6. Cliquez sur Ajouter et déployer .

    Boîte de dialogue Créer un pipeline ETL

  7. Examinez les détails dans la boîte de dialogue de confirmation **Déployer vers le développement**, puis cliquez sur **Déployer**.

Un pipeline ETL est créé avec des exemples d'exploration et des tables de transformation.

Pipeline ETL dans un bundle dans le Workspace.

Pour un pipeline nommé rad_pipeline, le fichier YAML suivant est créé dans un fichier rad_pipeline.pipeline.yml. Ce pipeline est configuré pour s'exécuter sur un compute serverless. Pour la référence de configuration de pipeline, consultez pipeline.

YAML
resources:
pipelines:
rad_pipeline:
name: rad_pipeline
libraries:
- glob:
include: transformations/**
serverless: true
catalog: main
schema: ${workspace.current_user.short_name}
root_path: .

Nouvelle définition de tableau de bord

Pour créer un fichier de configuration de bundle qui définit un tableau de bord :

  1. Dans la section Ressources du bundle du panneau Déploiements , cliquez sur Ajouter , puis sur Nouvelle définition de tableau de bord .

  2. Saisissez un nom pour le tableau de bord dans le champ Nom du tableau de bord de la boîte de dialogue Ajouter un tableau de bord au bundle existant .

  3. Sélectionnez un Warehouse pour le tableau de bord. Cliquez sur Ajouter et déployer .

Un nouveau tableau de bord vide et un fichier *.dashboard.yml de configuration sont créés dans le bundle. Le tableau de bord est stocké dans le warehouse spécifié dans le fichier de configuration.

Pour plus de détails sur les tableaux de bord, consultez Tableaux de bord. Pour la syntaxe YAML de configuration de tableau de bord, consultez tableau de bord.

Ajouter une ressource existante à un bundle

Vous pouvez ajouter des ressources existantes à votre bundle en utilisant l'interface utilisateur du Workspace ou en ajoutant une configuration de ressource à votre bundle.

Utilisez l'interface utilisateur du bundle Workspace

Pour ajouter un Job, un pipeline ou un tableau de bord existant à un bundle :

  1. Naviguez jusqu'au dossier du bundle dans le Workspace où vous souhaitez ajouter une Ressource.
astuce

Si vous avez déjà ouvert le bundle dans l'éditeur du Workspace, vous pouvez utiliser la liste des contextes de création du navigateur Workspace pour naviguer vers le dossier du bundle. Voir Contextes de création.

  1. À droite du nom du bundle, cliquez sur Ouvrir dans l'éditeur pour accéder à l'affichage de l'éditeur de bundle.

  2. Cliquez sur l'icône de déploiement du bundle pour passer au panneau Déploiements .

  3. Dans la section Ressources du bundle , cliquez sur Ajouter , puis cliquez sur Ajouter un Job existant , Ajouter un Pipeline existant ou Ajouter un Tableau de bord existant .

    Ajouter un Job, un pipeline ou un tableau de bord existant

  4. Dans la boîte de dialogue Ajouter une ressource existante... , sélectionnez la ressource existante dans la liste déroulante.

  5. Lorsque vous ajoutez une ressource existante à un bundle, Databricks crée une définition dans un fichier de configuration de bundle pour cette ressource. Parce que vous pouvez modifier cette définition dans le bundle, la ressource définie dans le bundle peut diverger de la ressource utilisée pour la créer.

    Choisissez une option pour gérer les mises à jour de la configuration des ressources du bundle :

    • Mise à jour sur les déploiements de production : la ressource existante est liée à la ressource du bundle, et toute modification que vous apportez à la ressource du bundle est appliquée à la ressource existante lorsque vous déployez vers la cible prod.
    • Mise à jour des déploiements de développement : la ressource existante est liée à la ressource du bundle, et toutes les modifications que vous apportez à la ressource du bundle sont appliquées à la ressource existante lorsque vous déployez sur la cible dev.
    • (Advanced) Ne pas mettre à jour : La ressource existante n'est pas liée au bundle. Les modifications apportées à la ressource dans le bundle ne sont jamais appliquées à la ressource existante. Au lieu de cela, une copie est créée. Pour plus d'informations sur le lien entre les ressources du bundle et leurs ressources de Workspace correspondantes, consultez databricks bundle deployment bind.
  6. Cliquez sur Ajouter... pour ajouter la ressource existante au bundle.

Ajouter une configuration de bundle

Une ressource existante peut également être ajoutée à votre bundle en définissant une configuration de bundle pour l'inclure dans votre déploiement de bundle. L'exemple suivant ajoute un pipeline existant à un bundle.

En supposant que vous ayez un pipeline nommé taxifilter qui exécute le Notebook taxifilter.ipynb dans votre Workspace partagé :

  1. Dans la barre latérale de votre workspace Databricks, cliquez sur Tâches & Pipelines .

  2. Facultativement, sélectionnez les filtres Pipelines et Propriété .

  3. Sélectionnez le taxifilter pipeline existant.

  4. Dans la page du pipeline, cliquez sur le menu à trois points à gauche du bouton du mode de déploiement **Développement**. Ensuite, cliquez sur **Afficher les paramètres YAML**.

  5. Cliquez sur l'icône de copie pour copier la configuration du bundle pour le pipeline.

  6. Accédez à votre bundle dans l' Workspace .

  7. Cliquez sur l'icône de déploiement du bundle pour passer au panneau Déploiements .

  8. Dans la section Ressources du bundle , cliquez sur Ajouter , puis sur Nouvelle définition de pipeline .

remarque

Si vous voyez plutôt un élément de menu Nouveau pipeline ETL , cela signifie que l'éditeur Lakeflow Pipelines Editor est activé. Pour ajouter un pipeline ETL à un bundle, consultez Créer un pipeline à contrôle de code source.

  1. Saisissez taxifilter dans le champ **Nom du pipeline** de la boîte de dialogue **Ajouter un pipeline au bundle existant**. Cliquez sur **Créer**.

  2. Collez la configuration du pipeline existant dans le fichier. Ce pipeline d'exemple est défini pour exécuter le notebook taxifilter :

    YAML
    resources:
    pipelines:
    taxifilter:
    name: taxifilter
    catalog: main
    libraries:
    - notebook:
    path: /Workspace/Shared/taxifilter.ipynb
    target: taxifilter_${bundle.environment}

Vous pouvez maintenant déployer le bundle, puis exécuter la Ressource pipeline via l'interface utilisateur.

Modifier les ressources de bundle

info

Bêta

Cette fonctionnalité est en Bêta.

Vous pouvez modifier les Jobs et les pipelines qui font partie de votre bundle directement dans l’interface utilisateur du Workspace. Les modifications sont automatiquement appliquées au YAML de configuration pour ces Ressources dans le bundle.

Pour modifier un Job ou un pipeline dans un bundle :

  1. Dans le volet Déploiements de l'éditeur de bundle, cliquez sur le Job ou le pipeline dans Ressources du bundle pour ouvrir le Job ou le pipeline.
  2. Apportez des modifications au Job ou au pipeline, telles que l'ajout d'une tâche de Notebook ou la modification du schéma du pipeline.
  3. Une notification Workspace apparaît, confirmant que les modifications apportées au Job ou au pipeline ont été appliquées à la configuration du bundle. Vous pouvez cliquer sur le Link du fichier YAML dans la notification pour afficher les modifications de configuration dans l'éditeur de bundle.
  4. Déployez le bundle afin que les modifications de configuration soient appliquées au déploiement.
remarque

La modification des ressources est toujours désactivée en mode production.

Limitations

Les limitations suivantes s'appliquent à la modification des Ressources dans le workspace :

  • Lorsque vous modifiez un champ dont la valeur provient d'une variable de bundle ou d'une substitution, la modification n'affecte que ce champ. Il ne met pas à jour la définition de la variable, de sorte que les autres champs qui font référence à la même variable ne sont pas affectés.
  • Les mises à jour des autorisations de job ne sont pas encore prises en charge.
  • La planification d'un pipeline ou d'un tableau de bord crée un Job qui start la ressource selon un calendrier, mais le Job et le pipeline ou tableau de bord associé ne sont pas liés, et les planifications ne sont pas affichées dans l'interface utilisateur des pipelines ou des tableaux de bord. Pour modifier le calendrier, modifiez le trigger dans le job qui a été créé.