增量共享
适用于: Databricks SQL Databricks Runtime 10.4 LTS 及更高版本 仅 Unity Catalog
增量共享是一种开放协议,用于与其他组织进行安全的数据共享,无论他们使用哪个计算平台。 它可以实时共享 Unity 目录元存储中的表集合,而无需复制这些表,以便数据接收者可以立即开始使用最新版本的共享数据。
Delta Sharing 包含三个组件:
有关如何使用 Delta Sharing 的详细指南,请参阅什么是 Delta Sharing?。
提供程序
适用于: Databricks SQL Databricks Runtime 11.3 LTS 及更高版本
数据提供程序是表示现实世界中共享数据的组织的对象。 提供程序包含共享,该共享进一步包含共享数据。 提供程序将你添加为收件人后,你可以
- 使用 ALTER PROVIDER 自定义提供程序的本地名称。
- 使用 SHOW SHARES 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 cdc.vaccinedata;
-- Use the data.
> USE CATALOG cdcdata;
> SELECT COUNT(*) FROM information_schema.tables;
10
相关文章
- DESCRIBE PROVIDER
- ALTER PROVIDER
- DROP PROVIDER
- SHOW PROVIDERS
- COMMENT ON PROVIDER
- SHOW SHARES IN PROVIDER
- CREATE CATALOG
- 什么是 Delta Sharing?
共享
共享是使用 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 SHARE
- DESCRIBE SHARE
- ALTER SHARE
- DROP SHARE
- SHOW SHARES
- SHOW ALL IN SHARE
- COMMENT ON SHARE
- 什么是 Delta Sharing?
收件人
接收者是使用 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;