Delta Sharing
Si applica a: Databricks SQL Databricks Runtime 10.4 LTS e versioni successive solo Unity Catalog
La condivisione differenziale è un protocollo aperto per la condivisione sicura dei dati con altre organizzazioni indipendentemente dalle piattaforme di elaborazione usate. Può condividere raccolte di tables in un metastore Catalog Unity in tempo reale senza copiarli, in modo che i dati recipients possano iniziare immediatamente a usare la versione più recente dei dati condivisi.
Esistono tre componenti per la condivisione differenziale:
-
Un provider è un'entità che ha reso disponibili i dati per la condivisione.
-
Una condivisione definisce un raggruppamento logico per il tables che si intende condividere.
-
Il destinatario identifica un'organizzazione con cui si desidera condividere un numero qualsiasi di shares.
Per una guida dettagliata su come usare la condivisione Delta, vedere Che cos'è la condivisione delta?.
Providers
Si applica a: Databricks SQL Databricks Runtime 11.3 LTS e versioni successive
Un provider di dati è un oggetto che rappresenta l'organizzazione nel mondo reale che shares i dati. Un provider contiene shares che contengono ulteriormente i dati condivisi. Una volta che un provider ti ha aggiunto come Recipients puoi
- Personalizzare il nome locale del provider usando ALTER PROVIDER.
- List gli insiemi di dati condivisi con SHOW SHARES IN PROVIDER.
- Crea un catalog usando shares di tuo interesse con CREATE CATALOG.
Esempi
-- 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
Articoli correlati
- DESCRIBE PROVIDER
- ALTER PROVIDER
- DROP PROVIDER
- SHOW PROVIDERS
- COMMENT ON PROVIDER
- SHOW SHARES IN PROVIDER
- CREATE CATALOG
- Che cos'è Delta Sharing?
Shares
Una condivisione è un contenitore che viene istanziato con il comando CREATE SHARE. Dopo aver creato è possibile registrare in modo iterativo una raccolta di tables esistenti definiti all'interno del metastore usando il comando ALTER SHARE. È possibile registrare tables con il nome originale, qualificato dal relativo schemaoriginale, o specificare nomi alternativi visibili.
Per creare, modificare ed eliminare shares, è necessario essere un amministratore del metastore o un amministratore dell'account.
Esempi
-- 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)
Articoli correlati
- Feed di dati delle modifiche
- CREATE SHARE
- DESCRIBE SHARE
- ALTER SHARE
- DROP SHARE
- SHOW SHARES
- SHOW ALL IN SHARE
- COMMENT ON CONDIVIDI
- Che cos'è Delta Sharing?
Recipients
Un destinatario è un oggetto creato usando CREATE RECIPIENT per rappresentare un'organizzazione a cui si desidera concedere l'accesso shares. Quando si crea un destinatario Databricks SQL genera un collegamento di attivazione che è possibile inviare all'organizzazione. Per ottenere il collegamento di attivazione dopo la creazione, utilizzare DESCRIBE RECIPIENT.
Dopo aver creato un destinatario, è possibile concedere SELECT
privilegi su shares a scelta usando GRANT ON SHARE.
È necessario essere un amministratore del metastore per creare recipients, eliminare recipientse grant l'accesso a shares.
Esempi
-- 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;