Partager via


Créer et utiliser des tables de sortie dans Databricks Clean Rooms

Cette page présente les tables de sortie, qui sont des tables temporaires en lecture seule générées par une exécution de notebook et partagées avec le metastore Unity Catalog de l’exécuteur de notebook. Cet article explique comment utiliser un notebook pour créer des tables de sortie et comment les utilisateurs peuvent lire ces tables de sortie dans le metastore de leur Unity Catalog.

Vue d’ensemble des tables de sortie

Les tables de sortie vous permettent d’enregistrer temporairement la sortie des notebooks exécutés dans une salle blanche vers un catalogue de sortie dans votre metastore Unity Catalog, où vous pouvez mettre les données à la disposition des membres de votre équipe qui ne peuvent pas exécuter eux-mêmes les notebooks. Vous pouvez également utiliser Lakeflow Jobs pour exécuter des notebooks et effectuer des tâches sur les tables de sortie. En combinant les tables de sortie avec le type de tâche de notebook Clean Room et la prise en charge des valeurs des tâches, vous pouvez créer des workflows complexes qui dépendent des notebooks de salle blanche.

Les tables de sortie sont en lecture seule.

Seul le principal spécifique (utilisateur, groupe ou principal de service) qui exécute le notebook dispose d’un accès en lecture par défaut à la table de sortie. Il n’y a pas d’accès en écriture. Un administrateur de metastore peut accorder l’accès en lecture à d’autres principaux dans leur compte Azure Databricks en utilisant les privilèges standard de Unity Catalog.

Les tables de sortie sont stockées pendant 30 jours à l’emplacement de stockage par défaut de la salle blanche centrale et partagées avec le metastore de l’exécuteur au moyen de Delta Sharing. Si vous souhaitez conserver une table de sortie pendant plus de 30 jours, vous devez la copier dans le stockage local.

Chaque exécution de notebook crée un nouveau schéma dans le catalogue de sortie. Les nouvelles exécutions ne peuvent pas ajouter une table de sortie existante.

Remarque

Les collaborateurs dans Databricks sur les trois clouds (AWS, Azure et Google Cloud) peuvent partager des notebooks qui créent des tables de sortie et peuvent lire les tables de sortie générées lors de l’exécution de notebooks partagés.

Créer une table de sortie

Pour créer une table de sortie, utilisez les paramètres cr_output_catalog et cr_output_schema dans l’espace de noms de table en trois parties. Chaque exécution du notebook produit un nouveau schéma.

Dans l'exemple suivant, la cellule de bloc-notes crée une table de sortie appelée overlapping_users dans le catalogue de sortie de l'exécuteur qui répertorie les utilisateurs dont l'adresse e-mail apparaît à la fois dans les tables collaborator.advertiser.profiles et creator.publisher.profiles.

CREATE TABLE identifier(:cr_output_catalog || '.' || :cr_output_schema || '.overlapping_users') AS
SELECT collab_profiles.*
FROM collaborator.advertiser.profiles AS collab_profiles
JOIN creator.publisher.profiles AS creator_profiles
ON collab_profiles.email = creator_profiles.email

Lire une table de sortie

Les tables de sortie apparaissent dans un catalogue partagé dans le metastore de l’exécuteur de notebook. Dans le volet Catalogue de Catalog Explorer, elles s’affichent dans la liste des catalogues partagés.

La lecture d’une table de sortie ressemble à la lecture d’une autre table dans Unity Catalog. Vous devez avoir SELECT sur la table, USE CATALOG sur le catalogue de sortie partagé et USE SCHEMA sur le schéma généré automatiquement. L’utilisateur ayant exécuté le notebook qui a créé la table dispose de ces autorisations par défaut.

Remarque

La suppression d'une salle propre entraîne la suppression de toutes les tables de sortie et des données historiques du catalogue de sortie.

Avant de commencer

Cette section décrit les exigences en matière de cloud, de configuration et de calcul pour la lecture des tables de sortie.

Exigences relatives au catalogue de sortie partagé

Avant de pouvoir lire les tables de sortie, un utilisateur doit créer le catalogue qui les contient. Vous devez faire cette inscription une seule fois par salle blanche. Le propriétaire de la salle propre dispose de l’autorisation de lire et de gérer le catalogue de sortie par défaut.

Autorisations requises : EXECUTE CLEAN ROOM TASK

  1. Dans votre espace de travail Azure Databricks, cliquez sur l’icône Données.Catalogue.
  2. Cliquez sur le bouton Salles propres>.
  3. Sélectionnez la salle blanche dans la liste.
  4. Dans le volet droit, sous Sortie, cliquez sur Créer un catalogue.
  5. Entrez un nom de catalogue de sortie ou acceptez la valeur par défaut, c’est-à-dire <clean-room-name>_output.

Le catalogue de sortie apparaît dans la liste des catalogues partagés, dans le volet Catalogue de Catalog Explorer. Chaque salle blanche à laquelle vous participez peut avoir un catalogue de sortie partagé dans votre metastore.

Exigences de calcul

Les requêtes sur les tables de sortie nécessitent un calcul serverless. Voir Se connecter à un calcul serverless.

Autorisations requises pour lire une table de sortie

L’utilisateur qui a exécuté le notebook qui a créé la table de sortie et le propriétaire de la salle propre ont l’autorisation de lire et de gérer la table de sortie par défaut. Tous les autres utilisateurs doivent disposer des autorisations suivantes :

  • SELECT sur la table
  • USE CATALOG sur le catalogue de sortie
  • USE SCHEMA sur le schéma de sortie

Exécuter le bloc-notes

Pour générer des tables de sortie partagées dans votre catalogue de sortie, un utilisateur ayant accès à la salle blanche doit exécuter le notebook. Consultez Exécuter des notebooks dans des salles blanches. Chaque exécution de notebook crée un nouveau schéma et une nouvelle table de sortie.

Conseil

Vous pouvez utiliser Lakeflow Jobs pour exécuter des notebooks et effectuer des tâches sur des tables de sortie. Cela permet des workflows complexes. Consultez Utiliser Lakeflow Jobs pour exécuter des notebooks de salle blanche.

Rechercher et afficher une table de sortie

L’utilisateur exécutant le notebook qui crée la table de sortie peut trouver un lien vers la table de sortie sur l’historique des exécutions du notebook et exécuter des pages de détails dans l’interface utilisateur Clean Rooms. Dans les deux cas, le lien se trouve dans le champ Schéma de sortie. Consultez Surveiller les exécutions du notebook de salle blanche.

Historique des exécutions :

Lien de schéma de sortie dans l’historique des exécutions

Détails de l’exécution :

Lien de schéma de sortie dans les détails de l’exécution

Vous pouvez également trouver le catalogue de sortie dans la liste des catalogues partagés, dans le volet Catalogue de Catalog Explorer.

Limitations

Outre les exigences répertoriées dans Vue d’ensemble des tables de sortie et Avant de commencer, les tables de sortie présentent les limitations suivantes :

  • Les tables de sortie ne sont prises en charge que lorsque la salle blanche a été créée après la publication de la fonctionnalité de table de sortie.
  • Seules les tables sont prises en charge. Les volumes et les vues, par exemple, ne le sont pas.
  • Vous êtes limité dans le nombre de tables de sortie que chaque bloc-notes peut prendre en charge. Consultez l’article Limites des ressources.