創建和管理股票三角洲共享
這篇文章解釋了如何創建和管理股票三角洲共享。
分享是一個命名的對象,它包含一組表(或部分表)在統一目錄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()。國家)
筆記本文件添加到一個份額
使用數據資源管理器添加一個記事本文件。
權限要求:共享對象的所有者可以讀
許可的筆記本你想分享。
在你的磚工作區,點擊數據。
在左窗格中,展開三角洲分享菜單並選擇我共享的。
在股票選項卡,找到你想添加一個筆記本的份額並單擊其名稱。
點擊管理資產並選擇添加筆記本文件。
在添加筆記本文件頁麵中,單擊文件圖標瀏覽你想要分享的筆記本。
點擊您想要分享的文件並點擊選擇。
(可選)指定一個用戶友好的別名的文件份額字段。這是收件人將看到的標識符。
點擊保存。
現在出現在共享筆記本文件筆記本電腦文件列表上的資產選項卡。
格蘭特接受訪問
授予共享訪問收件人,您可以使用數據瀏覽,磚統一目錄的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刪除——股票名稱<共享名>