升級統一目錄表和視圖
本文描述了如何升級現有的注冊表和視圖蜂巢metastore統一目錄。
確定注冊表目前統一目錄,檢查目錄名稱。表目錄hive_metastore
在蜂巢metastore注冊。其他由統一目錄列出目錄。
請注意
統一目錄管理分區不同蜂巢。蜂巢的命令不支持直接操作分區表上由統一目錄管理。
或多個表統一目錄升級模式
你可以複製完整的模式(數據庫)和多個外部表從你默認蜂巢metastore統一目錄metastore使用數據瀏覽升級向導。
升級過程
點擊數據在側欄打開數據瀏覽。
選擇
hive_metastore
當你的目錄和選擇你想要的模式(數據庫)升級。點擊升級在右上角的模式細節視圖。
選擇你想要的所有表的升級和點擊下一個。
設置目標目錄,模式(數據庫),為每個表和所有者。
用戶將能夠訪問新創建的表中他們的特權目錄和模式。
表業主表上的所有特權,包括
選擇
和修改
。如果你不選擇一個所有者,創建管理表與你的主人。磚一般建議您授權表所有權組。在統一目錄,了解更多關於對象所有權管理統一編目對象所有權。將相同的目錄和模式分配給多個表,並單擊選擇表設定目標按鈕。
將同一所有者分配給多個表,並單擊選擇表組所有者按鈕。
檢查表的配置。要修改,單擊以前的按鈕。
點擊創建查詢升級。
查詢編輯器出現生成的SQL語句。
運行該查詢。
查詢完成後,每個表的元數據被複製從蜂巢metastore統一目錄。這些表中標記為升級升級向導。
定義使用的細粒度訪問控製權限每個新表的選項卡。
修改您的工作負載使用新表。
升級一個外部表統一目錄
你可以複製一個外部表從你默認蜂巢metastore統一目錄metastore使用數據瀏覽。
升級過程
升級一個外部表:
點擊數據在側欄打開數據瀏覽。
選擇數據庫,然後,你想升級。
點擊升級操作在桌子的右上角細節視圖。
選擇您的目的地目錄,模式(數據庫)和所有者。
用戶將能夠訪問新創建的表中他們的特權目錄和模式。
表業主表上的所有特權,包括
選擇
和修改
。如果你不選擇一個所有者,創建管理表與你的主人。磚一般建議您授權表所有權組。在統一目錄,了解更多關於對象所有權管理統一編目對象所有權。點擊升級。
現在表元數據複製到統一目錄,並創建一個新表。您現在可以使用權限標簽定義的細粒度訪問控製。
修改現有的工作負載使用新表。
請注意
如果你不再需要舊的表,你可以從蜂巢Metastore放棄。減少外部表不修改雲租戶的數據文件。
升級統一目錄
你升級後所有視圖的引用表相同的目錄metastore統一,你可以創建一個新視圖引用新表。
升級一個表統一目錄管理表
升級一個表統一目錄管理表:
創建一個新的目錄表統一通過查詢現有表。替換占位符的值:
<目錄>
新表:統一目錄編目。<新模式>
:統一編目模式為新表。<新表>
:統一目錄表的名稱。<舊模式>
:舊表的模式,比如默認的
。<原表>
:舊的表的名稱。
創建表<目錄>。<新- - - - - -模式>。<新- - - - - -表>作為選擇*從hive_metastore。<老- - - - - -模式>。<老- - - - - -表>;
df=火花。表(“hive_metastore。<舊模式>。<舊表>”)df。寫。saveAsTable(的名字=“<目錄>,<新模式>。<新表>”)
%r圖書館(SparkR)df=tableToDF(“hive_metastore。<舊模式>。<舊表>”)saveAsTable(df=df,的表=“<目錄>,<新模式>。<新表>”)
瓦爾df=火花。表(“hive_metastore。<舊模式>。<舊表>”)df。寫。saveAsTable(的表=“<目錄>,<新模式>。<新表>”)
如果你想遷移隻有一些列或行,修改
選擇
聲明。請注意
這個命令創建一個管理表的數據複製到存儲位置時被提名metastore成立。創建一個外部表注冊表,統一目錄不動雲存儲中的數據,看看升級一個外部表統一目錄。
格蘭特戶頭級別用戶或組對新表的訪問。看到統一目錄管理權限。
表遷移後,用戶應該更新他們現有的查詢和工作負載使用新表。
在你刪除舊表之前,測試依賴關係通過撤銷訪問它,重新運行相關的查詢和工作負載。