Berbagi Delta

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 10.4 LTS dan di atas centang ditandai ya Unity Catalog saja

Delta Sharing adalah protokol terbuka untuk berbagi data yang aman dengan organisasi lain terlepas dari platform komputasi mana yang mereka gunakan. Protokol ini dapat berbagi kumpulan tabel dalam metastore Katalog Unity secara {i>real time

Ada tiga komponen untuk Delta Sharing:

  • Penyedia

    Penyedia adalah entitas yang telah membuat data tersedia untuk berbagi.

  • Saham

    Fitur berbagi menyediakan pengelompokan logis untuk tabel yang ingin Anda bagikan.

  • Penerima

    Penerima mengidentifikasi organisasi yang akan menerima direktori berbagi yang Anda inginkan.

Untuk panduan terperinci tentang cara menggunakan Berbagi Delta, lihat Berbagi data dan aset AI dengan aman menggunakan Berbagi Delta.

Penyedia

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

Penyedia data adalah objek yang mewakili organisasi di dunia nyata yang berbagi data. Penyedia berisi berbagi yang selanjutnya berisi data bersama. Setelah penyedia menambahkan Anda sebagai Penerima, Anda dapat

Contoh

-- 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 cdc.vaccinedata;

-- Use the data.
> USE CATALOG cdcdata;
> SELECT COUNT(*) FROM information_schema.tables;
  10

Berbagi

Fitur berbagi adalah sebuah kontainer yang diinisiasi dengan perintah BUAT BAGIKAN. Setelah dibuat, Anda dapat secara berulang mendaftarkan kumpulan tabel yang ada yang ditentukan dalam metastore menggunakan perintah UBAH BAGIKAN. Anda dapat mendaftarkan tabel dengan nama aslinya, dengan kualifikasi sesuai skema aslinya, atau memberikan nama ekspos alternatif.

Anda harus menjadi admin metastore atau admin akun untuk membuat, mengubah, dan menghilangkan berbagi.

Contoh

-- 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)

Penerima

Penerima adalah objek yang Anda buat menggunakan CREATE RECIPIENT untuk mewakili organisasi yang ingin Anda izinkan untuk mengakses berbagi. Saat Anda membuat penerima, Databricks SQL menghasilkan tautan aktivasi yang dapat Anda kirim ke organisasi. Untuk mengambil tautan aktivasi setelah pembuatan, gunakan DESCRIBE RECIPIENT.

Setelah penerima dibuat, Anda dapat memberikan hak istimewa SELECT atas berbagi pilihan Anda menggunakan GRANT ON SHARE.

Anda harus menjadi administrator metastore untuk membuat penerima, menghilangkan penerima, dan memberikan akses ke berbagi.

Contoh

-- 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;