Delta Sharing
適用於:Databricks SQL Databricks Runtime 10.4 LTS 和更新版本僅限 Unity 目錄
差異共用是一種開放通訊協定,可保護與其他組織的數據共享,不論其使用何種運算平臺。 它可以即時共用 Unity 目錄中繼存放區中的數據表集合,而不需要複製它們,讓數據收件者可以立即開始使用最新版本的共享數據。
Delta Sharing 有三個元件:
如需如何使用差異共用的詳細指南,請參閱 什麼是差異共用?。
提供者
適用於: Databricks SQL Databricks Runtime 11.3 LTS 和更新版本
數據提供者是代表共享數據之真實世界中組織的物件。 提供者包含進一步包含共用數據的共用。 提供者將您新增為 收件者 之後,您就可以
- 使用 ALTER PROVIDER 自定義提供者的本機名稱。
- 列出與 SHOW SHARE IN PROVIDER 共用的數據集。
- 使用與 CREATE CATALOG 感興趣的共用建立目錄。
範例
-- 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
相關文章
分享次數
共用是使用 CREATE SHARE 命令具現化的容器。 建立之後,您可以反覆註冊使用 ALTER SHARE 命令在中繼存放區內定義的現有數據表集合。 您可以在其原始名稱下註冊數據表,並依其原始架構限定,或提供替代公開的名稱。
您必須是中繼存放區管理員或帳戶管理員,才能建立、改變和卸除共用。
範例
-- 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)
相關文章
收件者
收件者是您使用 CREATE RECIPIENT 建立的物件,代表您想要允許存取共用的組織。 當您建立收件者 Databricks SQL 會產生啟用連結時,您可以傳送至組織。 若要在建立之後擷取啟用連結,請使用 DESCRIBE RECIPIENT。
建立收件者之後,您可以使用 GRANT ON SHARE,在您選擇的共用上授與它SELECT
許可權。
您必須是中繼存放區系統管理員,才能建立收件者、卸除收件者,以及授與共用存取權。
範例
-- 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;