Aller au contenu principal

Exécuter des Notebooks dans des salles blanches

Cette page décrit comment exécuter des notebooks dans des salles blanches. Les Notebooks sont l'interface que les collaborateurs utilisent pour exécuter l'analyse de données en collaboration.

Pour savoir comment ajouter un notebook à une salle blanche, consultez Créer des salles blanches.

Avant de commencer

Pour gérer et exécuter un notebook dans une salle blanche, vous devez :

Tâche

Exigence

Privilèges requis

Description

Gestion d'un notebook

Aucune exigence unique.

Pour l'uploader du Notebook : - S'ils sont le runner désigné, ils doivent disposer des privilèges EXECUTE CLEAN ROOM TASK ou MODIFY CLEAN ROOM. - Si un collaborateur est l'exécuteur désigné, l'uploadeur doit disposer du privilège MODIFY CLEAN ROOM.

Tâches de gestion générale pour un Notebook dans la salle blanche.

Exécution d’un notebook

Chaque collaborateur, à l'exception du chargeur, doit approuver le Notebook. Un programme d'exécution désigné exécute le Notebook.

EXECUTE CLEAN ROOM TASK

Si l'exécuteur du notebook ne l'a pas upload, il doit approuver le notebook avant qu'il ne puisse être exécuté. Cette approbation explicite peut être automatisée via la règle d'approbation automatique default. Consultez les règles d'approbation automatique.

Approuver ou rejeter un Notebook

Aucun

MODIFY CLEAN ROOM

Vous permet d’approuver ou de rejeter les Notebooks avant qu’ils ne puissent être exécutés.

Gestion des règles d’approbation automatique

Les approbations automatiques ne peuvent être appliquées qu'aux notebooks créés par des collaborateurs autres que celui qui les exécute.

Propriétaire de salle blanche ou privilège MANAGE.

Contrôle l'approbation automatique des Notebooks.

Capacité des collaborateurs

Une salle blanche peut inclure jusqu'à 10 collaborateurs.

Aucun

Cela inclut le créateur et jusqu’à 9 autres collaborateurs.

Tâche

Exigence

Privilèges requis

Description

Gestion d'un notebook

Aucune exigence unique.

Pour l'uploader du Notebook : - S'ils sont le runner désigné, ils doivent disposer des privilèges EXECUTE CLEAN ROOM TASK ou MODIFY CLEAN ROOM. - Si un collaborateur est l'exécuteur désigné, l'uploadeur doit disposer du privilège MODIFY CLEAN ROOM.

Tâches de gestion générale pour un Notebook dans la salle blanche.

Exécution d’un notebook

Chaque collaborateur, à l'exception du chargeur, doit approuver le Notebook. Un programme d'exécution désigné exécute le Notebook.

EXECUTE CLEAN ROOM TASK

Si l'exécuteur du notebook ne l'a pas upload, il doit approuver le notebook avant qu'il ne puisse être exécuté. Cette approbation explicite peut être automatisée via la règle d'approbation automatique default. Consultez les règles d'approbation automatique.

Approuver ou rejeter un Notebook

Aucun

MODIFY CLEAN ROOM

Vous permet d’approuver ou de rejeter les Notebooks avant qu’ils ne puissent être exécutés.

Gestion des règles d’approbation automatique

Les approbations automatiques ne peuvent être appliquées qu'aux notebooks créés par des collaborateurs autres que celui qui les exécute.

Propriétaire de salle blanche ou privilège MANAGE.

Contrôle l'approbation automatique des Notebooks.

Capacité des collaborateurs

Une salle blanche peut inclure jusqu'à 10 collaborateurs.

Aucun

Cela inclut le créateur et jusqu’à 9 autres collaborateurs.

Le créateur est automatiquement désigné comme propriétaire de la salle blanche dans son compte Databricks. L'administrateur de métastore de l'organisation collaboratrice se voit automatiquement attribuer la propriété de la salle blanche dans son compte Databricks. Vous pouvez transférer la propriété. Consultez Gérer la propriété de l'objet.

Upload d’un Notebook et désignation des exécuteurs

Lorsqu’un collaborateur ajoute un Notebook à la salle blanche :

  • Ils sont considérés comme l'expéditeur de ce Notebook dans la salle blanche.

  • Lors de l'ajout d'un notebook, l'uploadeur doit désigner le collaborateur qui est le programme d'exécution de notebook désigné. Le programme d'exécution désigné est autorisé à exécuter le notebook.

  • Il ne peut y avoir qu'un seul exécuteur désigné.

  • Vous pouvez vous désigner comme l'exécuteur désigné du Notebook.

    Exécuteur auto-désigné.

Voir Étape 3. Ajouter des assets de données et des Notebooks à la salle blanche

Approuver un notebook dans une salle blanche

Chaque notebook nécessite l'approbation de tous les collaborateurs, à l'exception de la personne qui l'a chargé, avant son exécution.

Pour vérifier l'état de l'examen d'un Notebook :

  1. Dans votre Workspace Databricks, cliquez Icône de données. sur **Catalogue**.

  2. Cliquez sur le bouton Salles blanches > .

  3. Sélectionnez la salle blanche dans la liste.

  4. Sélectionnez le notebook que vous souhaitez exécuter.

  5. Cliquez sur l'icône Personnes à droite pour développer la section des collaborateurs de la page de détails du notebook.

  6. La section Révisions offre un aperçu clair des collaborateurs qui ont approuvé, rejeté ou qui n'ont pas encore examiné le Notebook.

    Section des avis.

Une vue des différences est disponible lorsqu'un Notebook a été modifié par rapport à une version précédente.

Lors de l’exécution d’une version de notebook, ce qui suit est vrai :

  • Vous ne pouvez exécuter que la dernière version d'un Notebook.
  • Vous ne pouvez qu'approuver ou rejeter la dernière version d'un Notebook.
  • Modifier un notebook en ajoutant du nouveau contenu ou en changeant la désignation du runner crée une nouvelle version, ce qui Reset l'état de révision pour tous les collaborateurs.

Pour accéder à la vue des différences pour un Notebook :

  1. Cliquez sur l'icône Horloge à droite pour développer l'historique des versions de la page de détails du notebook.

    Vue des différences.

Pour approuver ou rejeter un notebook :

  1. Cliquez sur le bouton Vérifier en haut à droite.

  2. Choisissez d’ approuver ou de rejeter le notebook.

    Approuver ou rejeter un Notebook.

Vous pouvez mettre à jour votre révision jusqu'à neuf fois, pour un maximum de dix révisions par collaborateur sur chaque version de Notebook. Cependant, vous pouvez toujours rejeter un Notebook, même si la limite de révision a été atteinte.

Règles d'approbation automatique

Les collaborateurs peuvent configurer des règles d'approbation automatique pour leur salle blanche. Avec les approbations automatiques, les éléments suivants sont vrais :

  • Vous ne pouvez créer des règles d'approbation automatique que pour les Notebooks upload par d'autres utilisateurs, pas les vôtres. Les Notebooks que vous avez créés vous-même ne nécessitent pas votre propre approbation si vous êtes l'exécuteur désigné.
  • Dans les salles blanches à 2 personnes, vous pouvez approuver automatiquement les notebooks rédigés par l'autre collaborateur.
  • Dans les salles blanches avec plus de deux collaborateurs, vous pouvez approuver automatiquement les Notebooks rédigés par **N'importe qui** ou par un collaborateur spécifique.
  • Chaque règle d’approbation automatique désigne un seul exécutant pour le Notebook approuvé.
  • L'approbation automatique est le default pour les Notebooks upload par un autre collaborateur lorsque vous êtes l'exécuteur désigné.
  • Les approbations automatiques sont facultatives pour les salles blanches où l'exécuteur désigné est un autre collaborateur.
  • Vous pouvez ajouter, mettre à jour ou supprimer des approbations automatiques à tout moment.
remarque

Les règles d'approbation automatique ne sont pas disponibles dans les salles blanches conditionnées. Voir les salles blanches conditionnées.

Pour gérer les auto-approbations :

  1. Dans votre Workspace Databricks, cliquez Icône de données. sur **Catalogue**.

  2. Cliquez sur le bouton Salles blanches > .

  3. Sur la page Salles blanches , cliquez sur l' icône d'engrenage

  4. Sélectionnez Configurer les approbations automatiques .

    Approbations automatiques.

  5. Configurez l'approbation automatique du Notebook en fonction des règles d'autorisation correspondantes.

    Configurer les approbations automatiques.

Exécuter un notebook dans une salle blanche

Pour exécuter un notebook, assurez-vous que toutes les approbations nécessaires sont en place et que vous êtes l'exécuteur désigné. Ensuite :

  1. Sous Notebooks , cliquez sur le Notebook pour l'ouvrir en mode Aperçu.

  2. Cliquez sur le bouton **Exécuter**.

    • Vous ne pouvez exécuter que les notebooks pour lesquels vous êtes le responsable désigné et qui ont été approuvés.
    • Il n’est pas nécessaire d’approuver manuellement les Notebooks que vous avez rédigés vous-même pour les exécuter.
    • Vous pouvez rejeter un notebook que vous avez créé. Vous devez le réapprouver avant de pouvoir l'exécuter.
    • Vous pouvez gérer les approbations automatiques pour chaque Notebook. Consultez Règles d'approbation automatique.
  3. (Facultatif) Dans la boîte de dialogue Exécuter le notebook avec des paramètres , cliquez sur + Ajouter pour transmettre des valeurs de paramètres à la tâche de Job du Notebook.

  4. Examinez le Notebook.

  5. Cliquez sur Exécuter .

  6. Cliquez sur Voir les détails pour afficher la progression de l'exécution. Vous pouvez également afficher la progression de l'exécution en accédant à **Exécutions** sur cette page ou en cliquant sur **Jobs & Pipelines** dans la barre latérale du Workspace et en allant à la **tab** **Exécutions de Jobs**.

  7. Affichez les résultats de l'exécution du Notebook. Les résultats du Notebook apparaissent une fois l'exécution terminée. Pour afficher les exécutions précédentes, accédez à Exécutions et cliquez sur le Link dans la colonne Heure de start .

Même lorsque tous les collaborateurs approuvent un Notebook, seul le collaborateur désigné par la personne ayant mis en ligne comme exécuteur peut l'exécuter.

Paramètres du Notebook

Les parameters suivants sont automatiquement transmis au Notebook de la salle blanche à l'exécution :

  • cr_central_id: l'ID de la salle blanche centrale.
  • cr_runner_global_metastore_id: L'ID du metastore global de l'exécuteur désigné.
  • cr_runner_alias: L'alias du collaborateur du runner désigné.
  • cr_<alias>_input_catalog: Le catalogue qui stocke les données partagées par un collaborateur spécifique, où alias représente son alias de salle blanche. Pour les salles blanches à deux parties créées dans l'interface utilisateur, cela default au créateur ou au collaborateur, mais c'est personnalisable via l'API. Vous pouvez utiliser cr_<alias>_input_catalog parameter pour les tests locaux avec des tables d'exemple.
  • cr_output_catalog: Définit le catalogue dans lequel vous créez de nouvelles tables de sortie. Utilisé en combinaison avec cr_output_schema. Voir Créer une table de sortie.
  • cr_output_schema: Définit le schéma où vous créez les tables de sortie. Utilisé en combinaison avec cr_output_catalog. Voir Créer une table de sortie.
  • cr_shared_output_schema: Définit le schéma où vous créez des tables de sortie que tous les collaborateurs peuvent lire, pas seulement l'exécuteur. Utilisé en combinaison avec cr_output_catalog. Disponible uniquement lorsque la sortie partagée est activée pour la salle blanche. Voir Partager la sortie avec tous les collaborateurs.

Les parameters de Notebook ci-dessus sont automatiquement disponibles en tant que valeurs de widget lors de l'exécution.

  • Cellules Python : Référencez-les en utilisant dbutils.widgets.get. Par exemple : dbutils.widgets.get("cr_central_id").

  • Cellules SQL : Accédez-y avec select :name. Par exemple : select :cr_central_id.

Appeler une UDF JAR à partir d'un Notebook

Vous pouvez enregistrer une fonction Java ou Scala personnalisée à partir d'un JAR partagé et l'appeler à partir d'un Notebook de salle blanche à l'aide de CREATE TEMPORARY FUNCTION. Consultez Exécuter des charges de travail JAR dans des salles blanches Databricks.

Partager le résultat du notebook à l'aide de tables de sortie

Les tables de sortie sont des tables temporaires en lecture seule générées par une exécution de Notebook et partagées avec le metastore de l'exécuteur de Notebook. Si le notebook crée une table de sortie, l'exécuteur de notebook peut y accéder dans un catalogue de sortie et le partager avec d'autres utilisateurs dans leur workspace. Consultez Créer et utiliser des tables de sortie dans Databricks Clean Rooms.

Si la sortie partagée est activée pour la salle blanche, un notebook peut également écrire dans un schéma de sortie partagé que tous les collaborateurs peuvent lire. Voir Partager la sortie avec tous les collaborateurs.

Utiliser Lakeflow Jobs pour exécuter des notebooks de salle blanche

Vous pouvez créer des workflows complexes et récurrents autour de vos assets de salle blanche en utilisant les workflows Databricks. Par exemple, vous pouvez créer un flux de travail récurrent qui exécute une tâche de notebook de salle blanche, puis exécute une tâche qui met immédiatement à jour un rapport basé sur la sortie de la salle blanche.

Les fonctionnalités suivantes facilitent les workflows complexes de salle blanche :

  • Type de tâche de Notebook Clean Room : sélectionnez et exécutez directement un Notebook Clean Room comme tâche de workflow dédiée. Voir Exécuter des Notebooks dans des salles blanches.

  • **Valeurs de sortie fournies par Databricks** : toutes les tâches de notebooks de salle blanche rendent les {{tasks.<your_task_name>.output.catalog_name}} {{tasks.<your_task_name>.output.schema_name}} références de valeurs dynamiques et disponibles pour toutes les tâches en aval. Ces valeurs peuvent être utilisées pour configurer des workflows où une tâche est automatiquement transmise au chemin d'accès du schéma de sortie d'une tâche de notebook de salle blanche en amont. Voir Références de valeurs prises en charge

    • output.catalog_name est automatiquement renseigné avec le nom du catalogue de sortie de la salle blanche.
    • output.schema_name est automatiquement renseigné avec le nom du schéma de sortie généré dynamiquement de la tâche de Notebook de la salle blanche.
  • Lakeflow Jobs : Utilisez les valeurs de tâche qui transmettent les valeurs de parameter de job aux notebooks de salle blanche ou capturent la sortie du notebook de salle blanche et transmettent cette sortie à d'autres tâches de workflow. Consultez Valeurs de la tâche pour transmettre des informations entre les tâches.

  • **Valeurs de tâche** : Comme les tâches de Notebook régulières, les tâches de Notebook en salle blanche peuvent définir des **Valeurs de tâche** qui sont transmises aux tâches de workflow en aval. Utilisez la syntaxe : dbutils.jobs.taskValues.set(key="key", value="value"). En savoir plus sur les Valeurs de tâche.