Delta Sharing
S’applique à : Databricks SQL Databricks Runtime 10.4 LTS et versions ultérieures Unity Catalog uniquement
Delta Sharing est un protocole ouvert pour le partage de données sécurisé avec d’autres organisations, quelle que soit la plateforme de calcul utilisée. Il permet de partager des collections de tables dans un metastore Unity Catalog en temps réel et sans les copier, de sorte que les destinataires des données peuvent immédiatement commencer à utiliser la dernière version des données partagées.
Delta Sharing contient trois composants :
-
Un fournisseur est une entité qui met à disposition des données à des fins de partage.
-
Un partage définit un regroupement logique pour les tables que vous souhaitez partager.
-
Un destinataire identifie une organisation avec laquelle vous souhaitez partager un nombre quelconque de partages.
Pour un guide détaillé sur l’utilisation de Delta Sharing, consultez l’article Qu’est-ce que Delta Sharing ?.
Fournisseurs
S’applique à : Databricks SQL Databricks Runtime 11.3 LTS et versions ultérieures
Un fournisseur de données est un objet représentant l'organisation dans le monde réel qui partage les données. Un fournisseur contient des partages qui contiennent eux aussi les données partagées. Lorsqu’un fournisseur vous ajoute en tant que Destinataire, vous pouvez :
- Personnaliser le nom local du fournisseur à l’aide de ALTER PROVIDER.
- Répertorier les jeux de données partagées avec vous à l’aide de SHOW SHARE IN PROVIDER.
- Créez un catalogue à l’aide de partages qui vous intéressent avec CREATE CATALOG.
Exemples
-- Change the data provider name locally.
> ALTER PROVIDER `Center for Disease Control` RENAME TO cdc;
-- List the shares the provider has granted you access too.
> SHOW SHARES IN PROVIDER cdc;
vaccinedata
-- Make the share accessible locally as a catalog.
> CREATE CATALOG cdcdata USING SHARE cdc.vaccinedata;
-- Use the data.
> USE CATALOG cdcdata;
> SELECT COUNT(*) FROM information_schema.tables;
10
Articles connexes
- DESCRIBE PROVIDER
- ALTER PROVIDER
- DROP PROVIDER
- SHOW PROVIDERS
- COMMENT ON PROVIDER
- SHOW SHARES IN PROVIDER
- CRÉER UN CATALOGUE
- Présentation de Delta Sharing
Partages
Un partage est un conteneur instancié avec la commande CREATE SHARE. Une fois le partage créé, vous pouvez enregistrer itérativement une collection de tables existantes définies dans le metastore à l’aide de la commande ALTER SHARE. Vous pouvez inscrire des tables sous leur nom d’origine, qualifiées par leur schéma d’origine, ou fournir d’autres noms exposés.
Vous devez être un administrateur de metastore ou un administrateur de compte pour créer, modifier et annuler des partages.
Exemples
-- Create share `customer_share` only if share with same name doesn't exist, with a comment.
> CREATE SHARE IF NOT EXISTS customer_share COMMENT 'This is customer share';
-- Add 2 tables to the share.
-- Expose my_schema.tab1 a different name.
-- Expose only two partitions of other_schema.tab2
> ALTER SHARE customer_share ADD TABLE my_schema.tab1 AS their_schema.tab1;
> ALTER SHARE customer_share ADD TABLE other_schema.tab2 PARTITION (c1 = 5), (c1 = 7);
-- List the content of the share
> SHOW ALL IN SHARE customer_share;
name type shared_object added_at added_by comment partitions
----------------- ---- ---------------------- ---------------------------- -------------------------- ------- -----------------
other_schema.tab2 TABLE main.other_schema.tab2 2022-01-01T00:00:01.000+0000 alwaysworks@databricks.com NULL
their_schema.tab1 TABLE main.myschema.tab2 2022-01-01T00:00:00.000+0000 alwaysworks@databricks.com NULL (c1 = 5), (c1 = 7)
Articles connexes
- Flux des changements de données
- CREATE SHARE
- DESCRIBE SHARE
- ALTER SHARE
- DROP SHARE
- SHOW SHARES
- SHOW ALL IN SHARE
- COMMENT ON SHARE
- Présentation de Delta Sharing
Destinataires
Un destinataire est un objet que vous créez à l'aide de la commande CREATE RECIPIENT pour représenter une organisation dont vous voulez autoriser les partages d'accès. Lorsque vous créez un destinataire, Databricks SQL génère un lien d’activation que vous pouvez envoyer à l’organisation. Pour récupérer le lien d'activation après la création, vous utilisez la commande DESCRIBE RECIPIENT.
Lorsqu’un destinataire est créé, vous pouvez lui accorder des privilèges SELECT
sur les actions de votre choix en utilisant la commande GRANT ON SHARE.
Vous devez être un administrateur de metastore pour créer des destinataires, supprimer des destinataires et accorder l'accès à des partages.
Exemples
-- Create a recipient.
> CREATE RECIPIENT IF NOT EXISTS other_org COMMENT 'other.org';
-- Retrieve the activation link to send to other.org
> DESCRIBE RECIPIENT other_org;
name created_at created_by comment activation_link active_token_id active_token_expiration_time rotated_token_id rotated_token_expiration_time
--------- ---------------------------- -------------------------- --------- --------------- ------------------------------------ ---------------------------- ---------------- -----------------------------
other_org 2022-01-01T00:00:00.000+0000 alwaysworks@databricks.com other.org https://.... 0160c81f-5262-40bb-9b03-3ee12e6d98d7 9999-12-31T23:59:59.999+0000 NULL NULL
-- Choose shares that other.org has access to
> GRANT SELECT ON SHARE customer_share TO RECIPIENT other_org;