Création et gestion de partages pour Delta Sharing
Cet article explique comment créer et gérer des partages pour Delta Sharing.
Un partage est un objet sécurisable dans Unity Catalog que vous pouvez utiliser pour partager les ressources de données suivantes avec un ou plusieurs destinataires :
- Tables et partitions de table
- Vues, y compris les vues dynamiques qui limitent l’accès au niveau des lignes et des colonnes
- Volumes
- Notebooks
- Modèles IA
Si vous partagez un schéma entier (base de données), le destinataire peut accéder à toutes les tables, vues, modèles et volumes du schéma au moment où vous le partagez, ainsi qu’à toutes les ressources d’IA et de données ajoutées au schéma à l’avenir.
Un partage peut contenir des ressources d’IA et de données d’un seul metastore Unity Catalog. Vous pouvez à tout moment ajouter ou supprimer des ressources d’IA et de données d’un partage.
Pour plus d’informations, consultez Partages, fournisseurs et destinataires.
Spécifications
Pour créer un partage, vous devez :
- être administrateur de metastore ou disposer du privilège
CREATE SHARE
sur le metastore Unity Catalog où sont inscrites les données que vous voulez partager. - créer le partage à l’aide d’un espace de travail Azure Databricks auquel est attaché le metastore Unity Catalog.
Pour ajouter des tables ou des vues à un partage, vous devez :
- être le propriétaire du partage.
- disposer des privilèges
USE CATALOG
etUSE SCHEMA
sur le catalogue et le schéma qui contient la table ou la vue, ou la propriété du catalogue ou du schéma. - disposer du privilège
SELECT
sur la table. Vous devez conserver ce privilège pour que la table ou la vue reste partagée. Si vous le perdez, le destinataire ne peut pas accéder à la table ou à la vue via le partage. Databricks recommande donc de choisir un groupe comme propriétaire du partage.
Pour ajouter des volumes à un partage, vous devez :
- être le propriétaire du partage.
- disposer des privilèges
USE CATALOG
etUSE SCHEMA
sur le catalogue et le schéma qui contient le volume, ou la propriété du catalogue ou du schéma. - disposer du privilège
READ VOLUME
sur le volume. Vous devez conserver ce privilège pour que le volume reste partagé. Si vous le perdez, le destinataire ne pourra pas accéder au volume par le biais du partage. Databricks recommande donc de choisir un groupe comme propriétaire du partage.
Pour ajouter des modèles à un partage, vous devez :
- être le propriétaire du partage.
- Disposer des privilèges
USE CATALOG
etUSE SCHEMA
sur le catalogue et le schéma qui contiennent le modèle, ou la propriété du catalogue ou du schéma. - Disposer du privilège
EXECUTE
sur le modèle. Vous devez conserver ce privilège pour que le modèle reste partagé. Si vous le perdez, le destinataire ne pourra pas accéder au modèle via le partage. Databricks recommande donc de choisir un groupe comme propriétaire du partage.
Pour partager un schéma entier, vous devez :
- être le propriétaire du partage et le propriétaire du schéma, ou avoir
USE SCHEMA.
- avoir
SELECT
sur le schéma pour partager des tables. - avoir
READ VOLUME
sur le schéma pour partager des volumes.
Pour ajouter des fichiers de notebook à un partage, vous devez disposer du rôle suivant :
- Propriétaire du partage, avec l’autorisation CAN READ (peut lire) sur le notebook.
Pour accorder à un destinataire l’accès à un partage, vous devez disposer de l’un des rôles suivants :
- Administrateur de metastore.
- Utilisateur disposant des permissions déléguées ou la propriété sur le partage et les objets du destinataire ((
USE SHARE
+SET SHARE PERMISSION
) ou propriétaire du partage) ET (USE RECIPIENT
ou propriétaire du destinataire).
Pour afficher les partages, vous devez disposer de l’un des rôles suivants :
- Administrateur de metastore (peut tout afficher)
- Utilisateur disposant du privilège
USE SHARE
(peut tout afficher) - Propriétaire de l’objet de partage
Voici les exigences de calcul à respecter :
- Si vous utilisez un notebook Databricks pour créer le partage, votre cluster doit utiliser Databricks Runtime 11.3 LTS ou version ultérieure et le mode d’accès au cluster partagé ou mono-utilisateur.
- Si vous utilisez des instructions SQL pour ajouter un schéma à un partage (ou pour mettre à jour ou supprimer un schéma), vous devez utiliser un entrepôt SQL ou un ordinateur exécutant Databricks Runtime 13.3 LTS ou une version ultérieure. Faire la même chose avec Catalog Explorer n’implique aucune exigence de calcul.
Création d’un objet de partage
Pour créer un partage, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou la commande SQL CREATE SHARE
dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL.
Autorisations requises : administrateur de metastore ou utilisateur disposant du privilège CREATE SHARE
sur le metastore.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur le bouton Partager des données.
Dans la page Créer un partage, entrez leNom du partage et un commentaire facultatif.
Cliquez sur Enregistrer et continuer.
Vous pouvez continuer à ajouter des ressources de données, ou vous pouvez arrêter et revenir ultérieurement.
Sous l’onglet Ajouter des ressources de données, sélectionnez les tables, les volumes, les vues et les modèles que vous voulez partager.
Pour obtenir des instructions détaillées, consultez :
Cliquez sur Enregistrer et continuer.
Sous l’onglet Ajouter des notebooks, sélectionnez les notebooks que vous voulez partager.
Pour obtenir des instructions détaillées, consultez Ajouter des fichiers de notebook à un partage.
Cliquez sur Enregistrer et continuer.
Sous l’onglet Ajouter des destinataires, sélectionnez les destinataires avec lesquelles vous voulez partager.
Pour obtenir des instructions détaillées, consultez Gérer l’accès aux partages de données Delta Sharing (pour les fournisseurs).
Cliquez sur Partager des données pour partager les données avec les destinataires.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL :
CREATE SHARE [IF NOT EXISTS] <share-name>
[COMMENT "<comment>"];
Vous pouvez maintenant ajouter au partage des tables, des volumes, des vues et des modèles.
Pour obtenir des instructions détaillées, consultez :
- Ajouter des tables à un partage
- Ajouter des volumes à un partage
- Ajouter des vues à un partage
- Ajouter des modèles à un partage
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante dans l’interface CLI Databricks.
databricks shares create <share-name>
Vous pouvez utiliser --comment
pour ajouter un commentaire ou --json
pour ajouter des ressources au partage. Pour plus d’informations, consultez les sections suivantes.
Vous pouvez maintenant ajouter au partage des tables, des volumes, des vues et des modèles.
Pour obtenir des instructions détaillées, consultez :
- Ajouter des tables à un partage
- Ajouter des volumes à un partage
- Ajouter des vues à un partage
- Ajouter des modèles à un partage
Ajout d’une table à un partage
Pour ajouter des tables à un partage, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou des commandes SQL dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL.
Remarque
Les commentaires de table, les commentaires de colonne et les contraintes de clé primaire sont inclus dans les partages qui sont partagés avec un destinataire à l’aide du partage Databricks-to-Databricks à partir du 25 juillet 2024. Si vous souhaitez commencer à partager des commentaires et des contraintes par le biais d’un partage qui a été partagé avec un destinataire avant la date de publication, vous devez révoquer et réattribuer l’accès du destinataire pour déclencher le partage des commentaires et des contraintes.
Autorisations requises : propriétaire de l’objet de partage, USE CATALOG
et USE SCHEMA
sur le catalogue et le schéma qui contient la table et le privilège SELECT
sur la table. Vous devez conserver le privilège SELECT
aussi longtemps que vous souhaitez partager la table. Pour plus d'informations, consultez la section Conditions requises.
Remarque
Si vous êtes administrateur d’espace de travail et que vous avez hérité des autorisations USE SCHEMA
et USE CATALOG
sur le schéma et le catalogue qui contiennent la table du groupe d’administration de l’espace de travail, vous ne pouvez pas ajouter la table à un partage. Vous devez d’abord vous accorder les autorisations USE SCHEMA
et USE CATALOG
sur le schéma et le catalogue.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage auquel vous souhaitez ajouter une table, puis cliquez sur son nom.
Cliquez sur Gérer les ressources > Ajouter des ressources de données.
Dans la page Ajouter des tables, sélectionnez un schéma entier (base de données) ou des tables et des vues individuelles.
Pour sélectionner une table ou une vue, sélectionnez d’abord le catalogue, puis le schéma qui contient la table ou la vue, puis la table ou la vue elle-même.
Vous pouvez rechercher des tables par nom, nom de colonne ou commentaire à l’aide de la recherche dans l’espace de travail. Consultez Recherche des objets de l’espace de travail.
Pour sélectionner un schéma, sélectionnez d’abord le catalogue, puis le schéma.
Pour plus d’informations sur le partage de schémas, consultez Ajouter des schémas à un partage.
(Facultatif) Cliquez sur Options de table avancées pour spécifier les options suivantes. Les alias et les partitions ne sont pas disponibles si vous sélectionnez un schéma entier. L’historique des tables est inclus par défaut si vous sélectionnez un schéma entier.
Alias: autre nom de table pour rendre le nom de la table plus lisible. Il s’agit du nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas employer le nom réel de la table si un alias est spécifié.
partition: partager uniquement une partie de la table. Par exemple :
(column = 'value')
. Consultez les sections Spécifier des partitions de table à partager et Utiliser les propriétés de destinataire pour effectuer le filtrage de partitions.partage d’historique: partagez l’historique des tableaux pour permettre aux destinataires d’effectuer des requêtes de voyage dans le temps ou de lire les tableaux avec Spark Structured Streaming. Nécessite Databricks Runtime 12.2 LTS ou version ultérieure.
Remarque
Si, en plus d’effectuer des requêtes de voyage dans le temps et des lectures de diffusion en continu, vous souhaitez que vos clients puissent interroger un flux de données de modification de tableau (CDF) à l’aide de la fonction table_changes(), vous devez activer CDF sur le tableau avant de le partager
WITH HISTORY
.
Cliquez sur Enregistrer.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks :
ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name> [COMMENT "<comment>"]
[PARTITION(<clause>)] [AS <alias>]
[WITH HISTORY | WITHOUT HISTORY];
Exécutez la commande suivante pour ajouter un schéma entier. La commande ADD SCHEMA
nécessite un entrepôt SQL ou un calculateur exécutant Databricks Runtime 13.3 LTS ou supérieur. Pour plus d’informations sur le partage de schémas, consultez Ajouter des schémas à un partage.
ALTER SHARE <share-name> ADD SCHEMA <catalog-name>.<schema-name>
[COMMENT "<comment>"];
Les options suivantes sont incluses. PARTITION
et AS <alias>
ne sont pas disponibles si vous sélectionnez un schéma entier. WITH HISTORY
est sélectionné par défaut pour toutes les tables si vous sélectionnez un schéma entier.
PARTITION(<clause>)
: si vous souhaitez ne partager qu’une partie de la table, vous pouvez spécifier une partition, Par exemple,(column = 'value')
. Consultez les sections Spécifier des partitions de table à partager et Utiliser les propriétés de destinataire pour effectuer le filtrage de partitions.AS <alias>
: un autre nom de la table, ou Alias, plus lisible. Il s’agit du nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas employer le nom réel de la table si un alias est spécifié. Utilisez le format<schema-name>.<table-name>
.WITH HISTORY
ouWITHOUT HISTORY
: quandWITH HISTORY
est spécifié, partagez la table avec l’historique complet pour permettre aux destinataires d’effectuer des requêtes de voyage dans le temps et des lectures de diffusion en continu. Le comportement par défaut estWITHOUT HISTORY
pour le partage de table etWITH HISTORY
pour le partage de schéma. Nécessite Databricks Runtime 12.2 LTS ou version ultérieure.Remarque
Si, en plus d’effectuer des requêtes de voyage dans le temps et des lectures de diffusion en continu, vous souhaitez que vos clients puissent interroger un flux de données de modification de tableau (CDF) à l’aide de la fonction table_changes(), vous devez activer CDF sur le tableau avant de le partager
WITH HISTORY
.
Pour plus d’informations sur les options ALTER SHARE
, consultez ALTER SHARE.
INTERFACE DE LIGNE DE COMMANDE
Pour ajouter une table, exécutez la commande suivante à l’aide de l’interface CLI Databricks.
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
Pour ajouter un schéma, exécutez la commande Databricks CLI suivante :
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<schema-full-name>",
"data_object_type": "SCHEMA"
}
}
]
}'
Remarque
Pour les tables, et uniquement les tables, vous pouvez omettre "data_object_type"
.
Pour en savoir plus sur les options répertoriées dans cet exemple, consultez les instructions sous l’onglet SQL.
Pour en savoir plus sur les paramètres supplémentaires, exécutez databricks shares update --help
ou consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l’API REST.
Pour plus d’informations sur la suppression de tables d’un partage, consultez Mise à jour des partages.
Spécification des partitions de table à partager
Pour ne partager qu’une partie d’une table lorsque vous l’ajoutez à un partage, vous pouvez fournir une spécification de partition. Vous pouvez spécifier des partitions quand vous ajoutez une table à un partage, ou que vous mettez à jour un partage, avec Catalog Explorer, l’interface CLI Databricks Unity Catalog ou des commandes SQL dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL. Cf. Ajout de tables à un partage et Mise à jour des partages.
Exemple de base
L’exemple SQL suivant partage une partie des données de la table inventory
, qui est partitionnée sur les colonnes year
, month
et date
:
- Données pour l’année 2021.
- Données pour décembre 2020.
- Données pour le 25 décembre 2019.
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
(year = "2020", month = "Dec"),
(year = "2019", month = "Dec", date = "2019-12-25");
Utiliser les propriétés de destinataire pour effectuer le filtrage de partitions
Vous pouvez partager une partition de table qui correspond aux propriétés du destinataire de données, également appelée « partage de partition paramétrable ».
Les propriétés par défaut sont les suivantes :
databricks.accountId
: compte Azure Databricks auquel appartient un destinataire de données (partage de Databricks à Databricks uniquement).databricks.metastoreId
: metastore Unity Catalog auquel appartient un destinataire de données (partage de Databricks à Databricks uniquement).databricks.name
: nom du destinataire des données.
Vous pouvez créer n’importe quelle propriété personnalisée quand vous créez ou mettez à jour un destinataire.
Le filtrage par propriété de destinataire vous permet de partager les mêmes tables, à l’aide du même partage, entre plusieurs comptes, espaces de travail et utilisateurs Databricks tout en conservant les limites de données entre ces éléments.
Par exemple, si vos tables incluent une colonne d’ID de compte Azure Databricks, vous pouvez créer un partage unique avec des partitions de table définies par l’ID de compte Azure Databricks. Quand vous effectuez un partage, Delta Sharing remet dynamiquement à chaque destinataire uniquement les données associées à son compte Azure Databricks.
Sans la possibilité d’effectuer un partitionnement dynamique par propriété, vous devez créer un partage distinct pour chaque destinataire.
Pour spécifier une partition qui effectue un filtrage par propriétés de destinataire quand vous créez ou mettez à jour un partage, vous pouvez utiliser Catalog Explorer ou la fonction SQL CURRENT_RECIPIENT
dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL :
Remarque
Les propriétés de destinataire sont disponibles dans Databricks Runtime 12.2 et versions ultérieures.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage que vous voulez mettre à jour, puis cliquez sur son nom.
Cliquez sur Gérer les ressources > Ajouter des ressources de données.
Sur la page Ajouter des tables, sélectionnez le catalogue et la base de données contenant la table, puis la table.
Si vous ne savez pas quel catalogue et quelle base de données contiennent la table, vous pouvez les rechercher par nom, nom de colonne ou commentaire à l’aide de la recherche dans l’espace de travail. Consultez Rechercher des objets d’espace de travail.
(Facultatif) Cliquez sur Options de table avancées pour ajouter des spécifications de partition.
Dans la boîte de dialogue Ajouter une partition à une table, ajoutez la spécification de partition basée sur les propriétés à l’aide de la syntaxe suivante :
(<column-name> = CURRENT_RECIPIENT().<property-key>)
Par exemple,
(country = CURRENT_RECIPIENT().'country')
Cliquez sur Enregistrer.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL :
ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>
PARTITION (<column-name> = CURRENT_RECIPIENT().<property-key>);
Par exemple,
ALTER SHARE acme ADD TABLE acme.default.some_table
PARTITION (country = CURRENT_RECIPIENT().'country');
Ajouter des tables avec des vecteurs de suppression ou des mappages de colonnes à un partage
Important
Cette fonctionnalité est disponible en préversion publique.
Les vecteurs de suppression sont une fonctionnalité d’optimisation du stockage que vous pouvez activer sur les tables Delta. Consultez Que sont les vecteurs de suppression ?.
Azure Databricks prend également en charge le mappage de colonnes pour des tables Delta. Cf. Renommage et suppression des colonnes avec le mappage de colonnes Delta Lake.
Pour partager une table avec des vecteurs de suppression ou un mappage de colonnes, vous devez la partager avec l’historique. Consultez Ajout d’une table à un partage.
Lorsque vous partagez une table avec des vecteurs de suppression ou le mappage de colonnes, les destinataires peuvent interroger la table à l’aide d’un entrepôt SQL, d’un cluster exécutant Databricks Runtime 14.1 ou version ultérieure, ou le calcul qui exécute delta-sharing-spark
open source 3.1 ou version ultérieure. Consultez Lire des tables avec des vecteurs de suppression ou le mappage de colonnes activés et Lire des tables avec des vecteurs de suppression ou le mappage de colonnes activés.
Ajouter des vues à un partage
Important
Cette fonctionnalité est disponible en préversion publique.
Les vues sont des objets en lecture seule créés à partir d’une ou de plusieurs tables ou d’autres vues. Une vue peut être créée à partir de tables et d’autres vues contenues dans plusieurs schémas et catalogues dans un metastore Unity Catalog. Consultez Créer et gérer des vues.
Cette section explique comment ajouter des vues à un partage avec Catalog Explorer, l’interface CLI Databricks ou des commandes SQL dans un notebook Azure Databricks ou dans l’éditeur de requête SQL Databricks. Si vous préférez utiliser l’API REST de Unity Catalog, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l’API REST.
Autorisations requises : propriétaire de l’objet de partage, USE CATALOG
et USE SCHEMA
sur le catalogue et le schéma qui contient la vue et SELECT
sur la vue. Vous devez conserver le privilège SELECT
aussi longtemps que vous souhaitez partager la table. Pour plus d'informations, consultez la section Conditions requises.
Autres conditions requises :
- Vous devez activer le calcul serverless pour les flux de travail, les notebooks et les tables dynamiques Delta dans le compte où le partage d’affichage est configuré. Voir Activer le calcul serverless.
- Les vues partageables doivent être définies sur des tables Delta ou sur d’autres vues partageables.
- Vous ne pouvez pas partager des vues qui référencent des tables partagées ou des vues partagées.
- Vous devez utiliser un entrepôt SQL ou un cluster sur Databricks Runtime 13.3 LTS ou version ultérieure lorsque vous ajoutez une vue à un partage.
- Pour connaître les exigences et les limitations relatives à l’utilisation des vues par les destinataires, consultez Afficher des vues partagées.
Pour ajouter des vues à un partage :
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage auquel vous voulez ajouter une vue, puis cliquez sur son nom.
Cliquez sur Gérer les ressources > Ajouter des ressources de données.
Dans la page Ajouter des tables, recherchez ou naviguez vers la vue que vous souhaitez partager, puis sélectionnez-la.
(Facultatif) Cliquez sur Options de table avancées pour spécifier un Alias ou un autre nom de vue afin de rendre le nom de la vue plus lisible. L’alias est le nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel de la table si un alias est spécifié.
Cliquez sur Enregistrer.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL :
ALTER SHARE <share-name> ADD VIEW <catalog-name>.<schema-name>.<view-name>
[COMMENT "<comment>"]
[AS <alias>];
Options disponibles :
AS <alias>
: un autre nom, ou alias, donné à la vue pour le rendre plus lisible. L’alias est le nom de la vue que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel de la table si un alias est spécifié. Utilisez le format<schema-name>.<view-name>
.COMMENT "<comment>"
: les commentaires s’affichent dans l’interface utilisateur Catalog Explorer et lorsque vous répertoriez et affichez des détails de la vue à l’aide d’instructions SQL.
Pour plus d’informations sur les options ALTER SHARE
, consultez ALTER SHARE.
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande CLI Databricks suivante :
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<view-full-name>",
"data_object_type": "VIEW",
"shared_as": "<view-alias>"
}
}
]
}'
"shared_as": "<view-alias>"
est facultatif et fournit un autre nom de vue, ou alias, pour le rendre plus lisible. L’alias est le nom de la vue que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel de la table si un alias est spécifié. Utilisez le format <schema-name>.<view-name>
.
Pour en savoir plus sur les paramètres supplémentaires, exécutez databricks shares update --help
ou consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l’API REST.
Pour plus d’informations sur la suppression de tables d’un partage, consultez Mettre à jour les partages.
Ajouter des vues dynamiques à un partage pour filtrer les lignes et colonnes
Important
Cette fonctionnalité est disponible en préversion publique.
Vous pouvez utiliser des vues dynamiques pour configurer un contrôle d’accès affiné aux données de la table, notamment :
- Sécurité au niveau des colonnes ou des lignes
- Masquage des données
Lorsque vous créez une vue dynamique qui utilise la fonction CURRENT_RECIPIENT(), vous pouvez limiter l’accès du destinataire en fonction des propriétés que vous spécifiez dans la définition du destinataire.
Cette section fournit des exemples de restriction de l’accès des destinataires aux données de la table au niveau des lignes et des colonnes à l’aide d’une vue dynamique.
Spécifications
- Version de Databricks Runtime : la fonction
CURRENT_RECIPIENT
est prise en charge dans Databricks Runtime 14.2 et versions ultérieures. - Autorisations :
- Pour créer une vue, vous devez être le propriétaire de l’objet de partage, avoir
USE CATALOG
etUSE SCHEMA
sur le catalogue et le schéma qui contiennent l’affichage, ainsi queSELECT
sur la vue. Vous devez conserver le privilègeSELECT
aussi longtemps que vous souhaitez partager la table. - Pour définir des propriétés sur un destinataire, vous devez être le propriétaire de l’objet destinataire.
- Pour créer une vue, vous devez être le propriétaire de l’objet de partage, avoir
- Limitations : toutes les limitations relatives au partage de vues, y compris la restriction au partage Databricks à Databricks, ainsi que les éléments suivants :
- Lorsqu’un fournisseur partage une vue qui utilise la fonction
CURRENT_RECIPIENT
, le fournisseur ne peut pas interroger la vue directement en raison du contexte de partage. Pour tester ce type de vue dynamique, le fournisseur doit partager la vue avec lui-même et l’interroger en tant que destinataire. - Les fournisseurs ne peuvent pas créer de vue faisant référence à une vue dynamique.
- Lorsqu’un fournisseur partage une vue qui utilise la fonction
Définir une propriété de destinataire
Dans ces exemples, la table à partager a une colonne nommée country
, et seuls les destinataires avec une propriété country
correspondante peuvent afficher certaines lignes ou colonnes.
Vous pouvez définir des propriétés de destinataire à l’aide de l’Explorateur de catalogues ou de commandes SQL dans un notebook Azure Databricks ou l’éditeur de requêtes SQL.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Destinataires, recherchez le destinataire auquel vous souhaitez ajouter les propriétés, puis cliquez sur son nom.
Cliquez sur Modifier les propriétés.
Dans la boîte de dialogue Modifier les propriétés du destinataire, entrez le nom de colonne en tant que clé (dans ce cas
country
) et la valeur à filtrer en tant que valeur (par exemple,CA
).Cliquez sur Enregistrer.
SQL
Pour définir la propriété sur le destinataire, utilisez ALTER RECIPIENT
. Dans cet exemple, la propriété country
est définie sur CA
.
ALTER RECIPIENT recipient1 SET PROPERTIES ('country' = 'CA');
Créer une vue dynamique avec l’autorisation au niveau des lignes pour les destinataires
Dans cet exemple, seuls les destinataires disposant d’une propriété country
correspondante peuvent afficher certaines lignes.
CREATE VIEW my_catalog.default.view1 AS
SELECT * FROM my_catalog.default.my_table
WHERE country = CURRENT_RECIPIENT('country');
Le fournisseur de données peut également conserver une table de mappage distincte qui mappe les champs de la table de faits aux propriétés du destinataire ; cela permet aux propriétés du destinataire et aux champs de table de faits d’être découplés pour une plus grande flexibilité.
Créer une vue dynamique avec l’autorisation au niveau des colonnes pour les destinataires
Dans cet exemple, seuls les destinataires qui correspondent à la propriété country
peuvent afficher certaines colonnes. D’autres voient les données retournées comme REDACTED
:
CREATE VIEW my_catalog.default.view2 AS
SELECT
CASE
WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
ELSE 'REDACTED'
END AS pii
FROM my_catalog.default.my_table;
Partager la vue dynamique avec un destinataire
Pour partager la vue dynamique avec un destinataire, utilisez les mêmes commandes SQL ou la même procédure d’interface utilisateur que vous utiliseriez pour une vue standard. Consultez Ajouter des vues à un partage.
Ajouter des volumes à un partage
Les volumes sont des objets Unity Catalog qui représentent un volume logique de stockage dans un emplacement de stockage d’objets cloud. Ils sont principalement destinés à fournir une gouvernance sur les ressources de données non tabulaires. Consultez Présentation des volumes Unity Catalog.
Cette section explique comment ajouter des volumes à un partage avec Catalog Explorer, l’interface CLI Databricks ou des commandes SQL dans un notebook Azure Databricks ou dans l’éditeur de requête SQL. Si vous préférez utiliser l’API REST de Unity Catalog, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l’API REST.
Remarque
Les commentaires sur les volumes sont inclus dans les partages qui sont partagés avec un destinataire à l’aide du partage Databricks-to-Databricks à partir du 25 juillet 2024. Si vous souhaitez commencer à partager des commentaires par le biais d’un partage qui a été partagé avec un destinataire avant la date de publication, vous devez révoquer et réattribuer l’accès du destinataire pour déclencher le partage des commentaires.
Autorisations requises : propriétaire de l’objet de partage, USE CATALOG
et USE SCHEMA
sur le catalogue et le schéma qui contient le volume et READ VOLUME
sur le volume. Vous devez conserver le privilège READ VOLUME
aussi longtemps que vous voulez partager le volume. Pour plus d'informations, consultez la section Conditions requises.
Autres conditions requises :
- Le partage de volumes est uniquement pris en charge dans le partage de Databricks à Databricks.
- Vous devez utiliser un entrepôt SQL version 2023.50 ou ultérieure, ou un cluster sur Databricks Runtime 14.1 ou version ultérieure, lorsque vous ajoutez un volume à un partage.
- Si le stockage de volume côté fournisseur a des configurations réseau personnalisées (par exemple, un pare-feu ou une liaison privée), le fournisseur doit s’assurer que le plan de contrôle et les adresses du plan de données du destinataire sont correctement autorisés à se connecter à l’emplacement de stockage du volume.
Pour ajouter des volumes à un partage :
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage auquel vous voulez ajouter un volume, puis cliquez sur son nom.
Cliquez sur Gérer les ressources > Modifier les ressources.
Sur la page Modifier les ressources, recherchez le volume que vous voulez partager et sélectionnez-le.
Vous pouvez également sélectionner le schéma qui contient le volume en entier. Référez-vous à la sectionAjouter des schémas à un partage.
(Facultatif) Cliquez sur Options avancées pour spécifier un nom de volume différent, ou Alias, pour rendre le nom du volume plus lisible.
Les alias ne sont pas disponibles si vous sélectionnez un schéma entier.
L’alias est le nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel du volume si un alias est spécifié.
Cliquez sur Enregistrer.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL :
ALTER SHARE <share-name> ADD VOLUME <catalog-name>.<schema-name>.<volume-name>
[COMMENT "<comment>"]
[AS <alias>];
Options disponibles :
AS <alias>
: autre nom de volume, ou alias, pour rendre le nom du volume plus lisible. L’alias est le nom du volume que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel du volume si un alias est spécifié. Utilisez le format<schema-name>.<volume-name>
.COMMENT "<comment>"
: les commentaires s’affichent dans l’interface utilisateur Catalog Explorer et lorsque vous listez et affichez les détails du volume à l’aide d’instructions SQL.
Pour plus d’informations sur les options ALTER SHARE
, consultez ALTER SHARE.
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks 0.210 ou ultérieure :
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
"string_shared_as": "<volume-alias>"
est facultatif et fournit un autre nom de volume, ou alias, pour rendre le nom du volume plus lisible. L’alias est le nom du volume que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel du volume si un alias est spécifié. Utilisez le format <schema-name>.<volume-name>
.
Pour en savoir plus sur les paramètres supplémentaires, exécutez databricks shares update --help
ou consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l’API REST.
Pour plus d’informations sur la suppression de volumes d’un partage, consultez Mettre à jour les partages.
Ajouter des modèles à un partage
Cette section explique comment ajouter des modèles à un partage en utilisant Catalog Explorer, l’interface CLI Databricks ou des commandes SQL dans un notebook Azure Databricks ou dans l’éditeur de requête SQL. Si vous préférez utiliser l’API REST de Unity Catalog, consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l’API REST.
Remarque
Les commentaires de modèle et les commentaires de version de modèle sont inclus dans les partages qui sont partagés à l’aide du partage de base de données à base de données.
Autorisations requises : propriétaire de l’objet de partage, USE CATALOG
et USE SCHEMA
sur le catalogue et le schéma qui contient le modèle et EXECUTE
sur le modèle. Vous devez conserver le privilège EXECUTE
aussi longtemps que vous voulez partager le modèle. Pour plus d'informations, consultez la section Conditions requises.
Autres conditions requises :
- Le partage de modèles est pris en charge seulement dans un partage de Databricks à Databricks.
- Vous devez utiliser un entrepôt SQL sur la version 2023.50 ou ultérieure, ou un cluster sur Databricks Runtime 14.0 ou ultérieur, quand vous ajoutez un modèle à un partage.
Pour ajouter des modèles à un partage :
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage auquel vous voulez ajouter un modèle, puis cliquez sur son nom.
Cliquez sur Gérer les ressources > Modifier les ressources.
Dans la page Modifier les ressources, recherchez ou accédez au modèle que vous voulez partager, puis sélectionnez-le.
Vous pouvez aussi sélectionner le schéma entier qui contient le modèle. Référez-vous à la sectionAjouter des schémas à un partage.
(Facultatif) Cliquez sur Options avancées afin de spécifier un autre nom pour le modèle, c’est-à-dire un Alias, pour rendre le nom du modèle plus lisible.
Les alias ne sont pas disponibles si vous sélectionnez un schéma entier.
L’alias est le nom que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel du modèle si un alias est spécifié.
Cliquez sur Enregistrer.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL :
ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<model-name>
[COMMENT "<comment>"]
[AS <alias>];
Options disponibles :
AS <alias>
: un autre nom, ou alias, donné au modèle pour rendre le nom du modèle plus lisible. L’alias est le nom du modèle que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel du modèle si un alias est spécifié. Utilisez le format<schema-name>.<model-name>
.COMMENT "<comment>"
: les commentaires s’affichent dans l’interface utilisateur de Catalog Explorer, et quand vous listez et que vous affichez les détails du modèle en utilisant des instructions SQL.
Pour plus d’informations sur les options ALTER SHARE
, consultez ALTER SHARE.
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks 0.210 ou ultérieure :
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "ADD",
"data_object": {
"name": "<model-full-name>",
"data_object_type": "MODEL",
"string_shared_as": "<model-alias>"
}
}
]
}'
"string_shared_as": "<model-alias>"
est facultatif et fournit un autre nom de modèle, ou alias, pour rendre le nom du modèle plus lisible. L’alias est le nom du modèle que le destinataire voit et doit utiliser dans les requêtes. Les destinataires ne peuvent pas utiliser le nom réel du modèle si un alias est spécifié. Utilisez le format <schema-name>.<model-name>
.
Pour en savoir plus sur les paramètres supplémentaires, exécutez databricks shares update --help
ou consultez PATCH /api/2.1/unity-catalog/shares/ dans la référence de l’API REST.
Pour plus d’informations sur la suppression de modèles dans un partage, consultez Mettre à jour les partages.
Ajouter des schémas à un partage
Lorsque vous ajoutez un schéma entier à un partage, vos destinataires ont accès non seulement à toutes les ressources de données dans le schéma au moment où vous créez le partage, mais également à toutes les ressources ajoutées au schéma au fil du temps. Cela inclut toutes les tables, vues et volumes dans le schéma. Les tables partagées de cette façon incluent toujours un historique complet.
L’ajout, la mise à jour ou la suppression d’un schéma à l’aide de SQL nécessite un entrepôt SQL ou un calcul exécutant Databricks Runtime 13.3 LTS ou une version ultérieure. Faire la même chose avec Catalog Explorer n’implique aucune exigence de calcul.
Autorisations requises : propriétaire de l’objet de partage et propriétaire du schéma (ou un utilisateur disposant des privilèges USE SCHEMA
et SELECT
sur le schéma).
Pour ajouter un schéma à un partage, suivez les instructions fournies dans Ajouter des tables à un partage, en prêtant attention au contenu qui spécifie comment ajouter un schéma.
Les alias de table, les partitions et les alias de volume ne sont pas disponibles si vous sélectionnez un schéma entier. Si vous avez créé des alias ou des partitions pour des ressources dans le schéma, ceux-ci sont supprimés lorsque vous ajoutez le schéma entier au partage.
Si vous souhaitez spécifier des options avancées pour une table ou un volume que vous partagez à l’aide du partage de schéma, vous devez partager la table ou le volume à l’aide de SQL et leur donner un alias avec un nom de schéma différent.
Ajouter des fichiers de notebook à un partage
Utiliser Catalog Explorer pour ajouter un fichier de notebook à un partage.
Remarque
Pour partager des notebooks, votre metastore doit disposer d’un stockage au niveau du metastore.
Autorisations requises : propriétaire de l’objet du partage et autorisation CAN READ (peut lire) sur le notebook que vous voulez partager.
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage auquel vous voulez ajouter un notebook, puis cliquez sur son nom.
Cliquez sur Gérer les ressources, puis sélectionnez Ajouter un fichier de notebook.
Sur la page Ajouter un fichier de notebook , cliquez sur l’icône de fichier pour rechercher le notebook à partager.
Cliquez sur le fichier à partager, puis sur Sélectionner.
(Facultatif) Spécifiez un alias convivial pour le fichier dans le champ Partager en tant que. Il s’agit de l’identificateur que les destinataires verront.
Cliquez sur Enregistrer.
Le fichier de notebook partagé apparaît à présent dans la liste Fichiers de notebook sous l’onglet Ressources.
Supprimer des fichiers de notebook des partages
Pour supprimer un fichier de notebook d’un partage :
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage qui inclut le notebook, puis cliquez sur le nom du partage.
Sous l’onglet Ressources, recherchez le fichier de notebook à supprimer du partage.
Cliquez sur le menu kebab à droite de la ligne, puis sélectionnez Supprimer le fichier de bloc-notes.
Dans la boîte de dialogue de confirmation, cliquez sur Supprimer.
Mettre à jour des fichiers de notebook dans des partages
Pour mettre à jour un notebook que vous avez déjà partagé, vous devez le rajouter, en lui attribuant un nouvel alias dans le champ Partager en tant que. Databricks vous recommande d’utiliser un nom qui indique l’état révisé du notebook, par exemple <old-name>-update-1
. Vous devrez peut-être informer le destinataire de la modification. Le destinataire doit sélectionner et cloner le nouveau notebook pour bénéficier de votre mise à jour.
Octroyer à des destinataires l’accès à un partage
Pour accorder aux destinataires l’accès au partage, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou la commande SQL GRANT ON SHARE
dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL.
Autorisations requises : l’une des suivantes :
- Administrateur de metastore.
- Les permissions déléguées ou la propriété sur le partage et les objets du destinataire ((
USE SHARE
+SET SHARE PERMISSION
) ou propriétaire du partage) ET (USE RECIPIENT
ou propriétaire du destinataire).
Pour obtenir des instructions, consultez Gérer l’accès aux partages de données Delta Sharing (pour les fournisseurs). Cet article explique également comment révoquer l’accès d’un destinataire à un partage.
Affichage des partages et des informations associées
Pour afficher la liste des partages ou les détails d’un partage, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou des commandes SQL dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL.
Autorisations requises : la liste des partages retournés dépend de votre rôle et de vos autorisations. Les administrateurs de metastore et les utilisateurs disposant du privilège USE SHARE
voient tous les partages. Sinon, vous ne pouvez afficher que les partages pour lesquels vous êtes propriétaire de l’objet de partage.
Les détails sont les suivants :
- Propriétaire du partage, créateur, horodatage de création, auteur de la mise à jour, horodatage mis à jour et commentaires
- Ressources de données dans le partage.
- Destinataires ayant accès au partage
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Ouvrez l’onglet Partages pour afficher la liste des partages.
Consultez le détail du partage dans l’onglet Détail.
SQL
Pour afficher la liste des partages, exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL. Si vous le souhaitez, remplacez <pattern>
par un prédicat LIKE
.
SHOW SHARES [LIKE <pattern>];
Pour afficher le détail d’un partage spécifique, exécutez la commande suivante.
DESCRIBE SHARE <share-name>;
Pour afficher des informations sur toutes les tables, les vues et les volumes d’un partage, exécutez la commande suivante.
SHOW ALL IN SHARE <share-name>;
INTERFACE DE LIGNE DE COMMANDE
Pour afficher la liste des partages, exécutez la commande suivante à l’aide de l’interface CLI Databricks.
databricks shares list
Pour afficher le détail d’un partage spécifique, exécutez la commande suivante.
databricks shares get <share-name>
Affichage des destinataires disposant d’autorisations sur un partage
Pour afficher la liste des partages auxquels un accès a été octroyé à un destinataire, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou la commande SQL SHOW GRANTS TO RECIPIENT
dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL.
Autorisations requises : administrateur de metastore, privilège USE SHARE
ou propriétaire de l’objet de partage.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez et sélectionnez le destinataire.
Accédez à l’onglet Destinataires pour afficher la liste des destinataires qui peuvent accéder au partage.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks.
SHOW GRANTS ON SHARE <share-name>;
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks.
databricks shares share-permissions <share-name>
Mise à jour des partages
En plus d’ajouter des tables, des vues, des volumes et des notebooks à un partage, vous pouvez :
- Renommez un partage.
- supprimer des tables, des vues, des volumes et des schémas d’un partage.
- Ajoutez ou mettez à jour un commentaire sur un partage.
- Activez ou désactivez l’accès aux données d’historique d’une table, ce qui permet aux destinataires d’effectuer des requêtes de voyage dans le temps ou des lectures de diffusion en continu de la table.
- Ajoutez, mettez à jour ou supprimez des définitions de partition.
- Modifiez le propriétaire du partage.
Pour effectuer ces mises à jour sur les partages, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou des commandes SQL dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL. Catalog Explorer ne permet pas de renommer le partage.
Autorisations requises : pour mettre à jour le propriétaire du partage, vous devez disposer de l’un des rôles suivants : administrateur de metastore, propriétaire de l’objet de partage ou utilisateur disposant des privilèges USE SHARE
et SET SHARE PERMISSION
. Pour mettre à jour le nom du partage, vous devez être administrateur de metastore (ou un utilisateur disposant du privilège CREATE_SHARE
) et propriétaire du partage. Pour mettre à jour toutes les autres propriétés du partage, vous devez être propriétaire.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage que vous voulez mettre à jour, puis cliquez sur son nom.
Dans la page des détails du partage, effectuez les actions suivantes :
- Cliquez sur l’icône Modifier située en regard du champ Propriétaire ou Commentaire pour mettre à jour ces valeurs.
- Cliquez sur le bouton de menu kebab dans une ligne de ressource pour le supprimer.
- Cliquez sur Gérer les ressources > Modifier les ressources pour mettre à jour toutes les autres propriétés :
- Pour supprimer une ressource, décochez la case en regard de la ressource.
- Pour ajouter, mettre à jour ou supprimer des définitions de partition, cliquez sur Options avancées.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur Databricks SQL.
Renommez un partage :
ALTER SHARE <share-name> RENAME TO <new-share-name>;
Supprimez des tables d’un partage :
ALTER SHARE share_name REMOVE TABLE <table-name>;
Supprimer des volumes d’un partage :
ALTER SHARE share_name REMOVE VOLUME <volume-name>;
Ajoutez ou mettez à jour un commentaire sur un partage :
COMMENT ON SHARE <share-name> IS '<comment>';
Ajoutez ou modifiez des partitions d’une table dans un partage :
ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);
Modifiez le propriétaire du partage :
ALTER SHARE <share-name> OWNER TO '<principal>'
-- Principal must be an account-level user email address or group name.
Activer le partage d’historique pour une table :
ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;
Pour plus d’informations sur les paramètres ALTER SHARE
, consultez l’article ALTER SHARE.
INTERFACE DE LIGNE DE COMMANDE
Exécutez les commandes suivantes à l’aide de l’interface CLI Databricks.
Renommez un partage :
databricks shares update <share-name> --name <new-share-name>
Supprimez des tables d’un partage :
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
Supprimer des volumes d’un partage (à l’aide de l’interface CLI Databricks 0.210 ou ultérieure) :
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
Remarque
Utilisez la propriété name
s’il n’existe aucun alias pour le volume. Utilisez string_shared_as
s’il existe un alias.
Ajoutez ou mettez à jour un commentaire sur un partage :
databricks shares update <share-name> --comment '<comment>'
Modifiez le propriétaire du partage :
databricks shares update <share-name> --owner '<principal>'
Le principal doit être une adresse e-mail d’utilisateur au niveau du compte ou un nom de groupe.
Suppression d’un partage
Pour supprimer un partage, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou la commande SQL DELETE SHARE
dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL. Vous devez être un propriétaire du partage.
Lorsque vous supprimez un partage, les destinataires ne peuvent plus accéder aux données partagées.
Autorisations requises : propriétaire de l’objet de partage.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, recherchez le partage que vous voulez supprimer, puis cliquez sur son nom.
Cliquez sur le menu kebab et sélectionnez Supprimer.
Dans la boîte de dialogue de confirmation, cliquez sur Supprimer.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks.
DROP SHARE [IF EXISTS] <share-name>;
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante dans l’interface CLI Databricks.
databricks shares delete <share-name>