创建和管理股票三角洲共享
这篇文章解释了如何创建和管理股票三角洲共享。
分享是一个命名的对象,它包含一组表(或部分表)在统一目录metastore您想要与一个或多个接受者。分享可以包含从只有一个metastore表。您可以添加或删除表和表分区从一个分享在任何时间。
有关更多信息,请参见股票和接受者。
需求
创建一个共享:
你必须metastore管理员或有
创建分享
特权的统一目录metastore您想要分享的数据登记。您必须创建的共享使用砖工作区,统一编目metastore附呈。
添加表或视图,您必须:
所有者和份额的
使用模式
特权模式,包含的表或视图选择
表或视图特权。你要保持这种特权为了继续共享的表或视图。如果你失去了它,接受者通过共享不能访问的表或视图。砖因此建议您使用一组作为所有者分享。
添加笔记本文件,你必须:
所有者和份额
可以读
允许在笔记本上。
授予接收方访问份额,你一定是其中的一个:
Metastore管理。
用户委托权限和所有权份额和接收者对象(
使用分享
+集分享许可
)或分享所有者)和(使用收件人
或接收方所有者)。
查看股票,你一定是其中的一个:
一个metastore管理(可以查看全部)
一个用户的
使用分享
特权(可以查看全部)分享对象所有者
计算要求:
如果使用砖笔记本创建共享集群必须使用砖运行时11.3 LTS以上和集群共享或单用户访问模式。
创建一个共享对象
创建一个共享,您可以使用数据浏览,砖统一目录的CLI或创建分享
SQL命令在砖砖笔记本或SQL查询编辑器。
权限要求:Metastore管理员或用户创建分享
metastore特权。
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
点击共享数据。
进入分享的名字和一个可选的评论。
运行以下命令在笔记本或砖的SQL查询编辑器:
创建分享(如果不存在]<分享- - - - - -的名字>(评论“< >评论”];
运行以下命令使用砖CLI。
砖unity-catalog股票创建——名称<共享名>
将表添加到一个份额
将表添加到共享,您可以使用数据浏览,砖统一编目CLI或SQL命令在砖砖笔记本或SQL查询编辑器。
权限要求:共享对象的所有者,使用模式
模式包含表,选择
特权在桌子上。你必须保持选择
特权,只要你想分享。有关更多信息,请参见需求。
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
在股票选项卡,找到你想添加一个表的份额并单击其名称。
点击资产管理>添加数据资产。
在添加表页面中,选择包含的目录和数据库表,然后选择表。
如果你不确定目录和数据库包含表,你可以搜索它的名字,列名称,或使用工作空间搜索置评。看到搜索空间对象。
(可选)单击高级表选项指定:
另一个表名,或别名表名更具可读性。别名是收件人看到的表名,必须在查询中使用。收件人不能使用实际的表名如果指定别名。
一个分区(例如,
(列=“价值”)
)如果你想分享只表的一部分。看到指定表分区共享和分区过滤使用收件人属性。你想分享历史表允许接收者执行时间旅行的查询或与火花结构化流读取表,从版本0。选择历史上共享。需要砖运行时的12.1或以上。
更改数据提要也将启用共享,如果在源表历史上共享选择这里,让接受者跟踪表的行级版本之间的更改。
点击保存。
运行以下命令在笔记本或砖的SQL查询编辑器:
改变分享<分享- - - - - -的名字>添加表<目录- - - - - -的名字>。<模式- - - - - -的名字>。<表- - - - - -的名字>(评论“< >评论”](分区(<条款>)](作为<别名>](与历史|没有历史];
选项包括:
分区(<条款>)
:如果你想分享只表的一部分,您可以指定一个分区。例如,(列=“价值”)
看到指定表分区共享和分区过滤使用收件人属性。作为<别名>
:另一个表名,或别名表名更具可读性。别名是收件人看到的表名,必须在查询中使用。收件人不能使用实际的表名如果指定别名。与历史
或没有历史
:当指定与历史,与完整的历史,共享表允许接收者执行时间旅行的查询和流读取。默认行为是没有历史。需要砖运行时的12.1或以上。您可以让收件人跟踪表的行级版本之间的变化通过允许改变数据提要源表和分享
与历史
。
更多信息改变分享
选项,请参阅改变分享。
运行以下命令使用砖CLI。
砖unity-catalog股票更新——名称<共享名>\- - - add table <目录>。<模式>。<表>
指定高级选项,您将创建一个JSON文件与CLI命令选项和引用它。了解这些选项,查看SQL选项卡上的说明。
{“对象”:[{“shared_as”:“default.mytable”,“history_data_sharing_status”:“启用”,“分区”:[{“价值观”:[{“名称”:“一个”,“人事处”:“平等”,“价值”:“1”})})})}
参考文件当你添加表。取代update-share.json
JSON文件的文件名。
砖unity-catalog股票更新——名称<共享名>\- - - add table <目录>。<模式>。<表>- - - - - -- - - - - -json-file update-share.json
了解其他参数,运行砖unity-catalog股票更新——帮助
。
从分享信息删除表,看看更新股票。
指定表分区共享
分享只表当你添加表的一部分,您可以提供一个分区规范。你可以指定分区表添加到共享或更新,使用数据浏览,砖统一编目CLI或SQL命令在砖砖笔记本或SQL查询编辑器。看到将表添加到一个份额和更新股票。
基本的例子
以下SQL示例股票数据的一部分库存
表,分区的一年
,月
,日期
列:
2021年的数据。
2020年12月的数据。
数据为2019年12月25日。
改变分享share_name添加表库存分区(一年=“2021”),(一年=“2020”,月=“12月”),(一年=“2019”,月=“12月”,日期=“2019-12-25”);
分区过滤使用收件人属性
你可以共享一个相匹配的表分区数据接收方属性,也被称为参数化分区共享。
默认的属性包括:
databricks.accountId
:数据接收方的砖账户属于(仅Databricks-to-Databricks共享)。databricks.metastoreId
:数据接收方的统一目录metastore属于(仅Databricks-to-Databricks共享)。databricks.name
:数据接收方的名称。
您可以创建任何自定义属性你喜欢当你创建或更新一个收件人。
过滤通过收件人属性使您能够共享相同的表,使用相同的份额,跨多个砖账户,工作区,用户同时保持数据之间的界限。
例如,如果您的表包含一个砖账户ID列,您可以创建一个与表分区定义为砖帐户ID的。当你分享,三角洲共享动态提供每个收件人只与他们的砖帐户相关的数据。
没有财产的动态分区的能力,你将不得不为每个收件人创建一个单独的共享。
指定一个分区,过滤器由收件人属性创建或更新时,您可以使用浏览器或数据CURRENT_RECPIENT
SQL函数在砖笔记本或砖的SQL查询编辑器:
请注意
收件人属性上面的砖12.2运行时,可用。
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
在股票选项卡,找到你想要更新的份额并单击其名称。
点击资产管理>添加数据资产。
在添加表页面中,选择包含的目录和数据库表,然后选择表。
如果你不确定目录和数据库包含表,你可以搜索它的名字,列名称,或使用工作空间搜索置评。看到搜索空间对象。
(可选)单击高级表选项添加分区规范。
在添加分区表对话框中,添加基于属性的分区规范使用下面的语法:
(<列- - - - - -的名字>=CURRENT_RECIPIENT()。<财产- - - - - -关键>)
例如,
(国家=CURRENT_RECIPIENT()。国家)
点击保存。
运行以下命令在笔记本或砖的SQL查询编辑器:
改变分享<分享- - - - - -的名字>添加表<目录- - - - - -的名字>。<模式- - - - - -的名字>。<表- - - - - -的名字>(<列- - - - - -的名字>=CURRENT_RECIPIENT()。<财产- - - - - -关键>;
例如,
改变分享acme添加表acme。默认的。some_table分区(国家=CURRENT_RECIPIENT()。国家)
添加视图
预览
这个特性是在公共预览。
视图创建只读对象从一个或多个表或其他视图。从表可以创建一个视图和其他视图中包含多个模式,统一编目metastore目录。看到创建视图。
本节描述如何使用数据浏览视图添加到共享或SQL命令砖笔记本或砖SQL查询编辑器。如果你喜欢使用砖CLI或统一目录REST API,明白了补丁/ api / 2.1 / unity-catalog /股票/在REST API参考添加一个表在CLI参考。
权限要求:共享对象的所有者,使用模式
包含视图模式,选择
在视图中。你必须保持选择
特权,只要你想分享的观点。有关更多信息,请参见需求。
额外的需求:
只在Databricks-to-Databricks共享视图共享支持。
可共享的意见必须定义δ表或其他共享视图。
您必须使用一个SQL仓库或集群砖运行时的13.1或以上当你添加一个视图。
要求和限制接收方使用的视图,看看阅读分享观点。
将视图添加到共享:
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
在股票选项卡,找到你想添加一个视图的份额并单击其名称。
点击资产管理>添加数据资产。
在添加表页面、搜索或浏览您想要分享的观点,并选择它。
(可选)单击高级表选项指定一个别名或替代视图名,视图名称更具可读性。别名是收件人的名字认为,必须在查询中使用。收件人不能使用实际的视图名称如果指定别名。
点击保存。
运行以下命令在笔记本或砖的SQL查询编辑器:
改变分享<分享- - - - - -的名字>添加视图<目录- - - - - -的名字>。<模式- - - - - -的名字>。<视图- - - - - -的名字>(评论“< >评论”](作为<别名>];
选项包括:
作为<别名>
:另一个视图名称或别名,使视图名称更具可读性。别名是收件人看到的视图名称,必须在查询中使用。收件人不能使用实际的视图名称如果指定别名。评论“< >评论”
:评论出现在数据浏览器UI和当你列表并显示视图使用SQL语句的详细信息。
更多信息改变分享
选项,请参阅改变分享。
笔记本文件添加到一个份额
使用数据资源管理器添加一个记事本文件。
权限要求:共享对象的所有者可以读
许可的笔记本你想分享。
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
在股票选项卡,找到你想添加一个笔记本的份额并单击其名称。
点击管理资产并选择添加笔记本文件。
在添加笔记本文件页面中,单击文件图标浏览你想要分享的笔记本。
点击您想要分享的文件并点击选择。
(可选)指定一个用户友好的别名的文件份额字段。这是收件人将看到的标识符。
点击保存。
现在出现在共享笔记本文件笔记本电脑文件列表上的资产选项卡。
格兰特接受访问
授予共享访问收件人,您可以使用数据浏览,砖统一目录的CLI或格兰特在分享
SQL命令在砖砖笔记本或SQL查询编辑器。
权限要求:下列之一:
Metastore管理。
委托权限或所有权份额和接收者对象(
使用分享
+集分享许可
)或分享所有者)和(使用收件人
或接收方所有者)。
说明,请参阅授予和管理访问三角洲共享数据的股票。本文还解释了如何撤销收件人的访问。
查看股票和分享的细节
查看每股股票或细节的列表,您可以使用数据浏览,砖统一编目CLI或SQL命令在砖砖笔记本或SQL查询编辑器。
权限要求:返回的股票列表取决于你的角色和权限。Metastore管理员和用户使用分享
特权看到所有股票。否则,你只能查看的股票所有者的分享对象。
细节包括:
分享的主人、创建者、创建时间戳、更新,更新时间戳、评论。
表和分区的份额。
接受访问的共享。
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
打开股票选项卡查看股票列表。
查看分享的细节细节选项卡。
查看股票列表,运行以下命令在笔记本或砖的SQL查询编辑器。可选地,取代<模式>
与一个“喜欢”谓词。
显示股票(就像<模式>];
查看有关特定的份额,运行以下命令。
描述分享<分享- - - - - -的名字>;
查看所有表和视图的详细信息,运行以下命令。
显示所有在分享<分享- - - - - -的名字>;
查看受者有权限
查看股票列表,接收方被授权访问,您可以使用数据浏览,砖统一目录的CLI或显示奖助金来收件人
SQL命令在砖砖笔记本或SQL查询编辑器。
权限要求:Metastore管理,使用分享
特权,或共享对象的所有者。
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
在股票选项卡,找到并选择收件人。
去收件人选项卡查看受者可以访问共享的列表。
运行以下命令在笔记本或砖的SQL查询编辑器。
显示奖助金在分享<分享- - - - - -的名字>;
运行以下命令使用砖CLI。
砖unity-catalog list-permissions——股票名称<共享名>
更新股票
重命名一个份额。
删除表。
添加或更新一个评论。
改变表的别名(由收件人看到的表名)。
启用或禁用访问表的历史数据,允许接收者执行时间旅行的查询或流表的读取。
添加、更新或删除分区定义。
改变所有者分享。
让这些更新股票,您可以使用数据浏览,砖统一编目CLI或SQL命令在砖砖笔记本或SQL查询编辑器。你不能用数据浏览器重命名共享。
权限要求:更新分享的主人,你必须是下列之一:metastore管理,共享对象的所有者或用户提供的使用分享
和集分享许可
特权。更新共享名,你必须是一个metastore管理员(或用户CREATE_SHARE
特权)和分享的主人。更新其他共享属性,你一定是老板。
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
在股票选项卡,找到你想要更新的份额并单击其名称。
在分享详细信息页面,您可以执行以下操作:
单击编辑图标旁边的所有者或注解字段更新这些值。
点击编辑表更新所有其他属性:
要删除一个表,使用编辑表浏览器找到表。清除复选框旁边的表名称删除它的份额。
点击高级表选项改变一个别名;添加、更新或删除分区定义;或启用和禁用历史共享。
运行以下命令在笔记本或砖的SQL编辑器。
重命名一个分享:
改变分享<分享- - - - - -的名字>重命名来<新- - - - - -分享- - - - - -的名字>;
把表从一个分享:
改变分享share_name删除表<表- - - - - -的名字>;
添加或更新一个评论分享:
评论在分享<分享- - - - - -的名字>是“<评论>”;
添加或修改分区表的分享:
改变分享<分享- - - - - -的名字>添加表<表- - - - - -的名字>分区(<条款>);
改变所有者分享:
改变分享<分享- - - - - -的名字>老板来“<校长>”——主体必须是一个户头级别用户的电子邮件地址或组名。
启用历史记录共享:
改变分享<分享- - - - - -的名字>添加表<表- - - - - -的名字>与历史;
对象的细节改变分享
参数,看到改变分享。
运行以下命令使用砖CLI。
重命名一个分享:
砖unity-catalog股票更新——名称<共享名>新名称< new-share-name >
把表从一个分享:
砖unity-catalog股票更新——名称<共享名> remove-table <表名称>
添加或更新一个评论分享:
砖unity-catalog股票更新——名称<共享名>发表评论“<评论>”
改变所有者分享:
砖unity-catalog股票更新——名称<共享名>——所有者“<校长>”
校长必须是一个户头级别用户的电子邮件地址或组名称。
删除一个分享
删除一个分享,您可以使用数据浏览,砖统一目录的CLI或删除分享
SQL命令在砖砖笔记本或SQL查询编辑器。你一定是一个所有者的份额。
当你删除一个分享,收件人可以不再访问共享数据。
权限要求:分享对象的所有者。
在你的砖工作区,点击数据。
在左窗格中,展开三角洲分享菜单并选择我共享的。
在股票选项卡,找到你要删除的份额并单击其名称。
单击烤肉串菜单(也称为菜单后按enter键)和选择删除。
在确认对话框,单击删除。
运行以下命令在笔记本或砖的SQL查询编辑器。
下降分享(如果存在]<分享- - - - - -的名字>;
运行以下命令使用砖CLI。
砖unity-catalog删除——股票名称<共享名>