升级统一目录表和视图
本文描述了如何升级现有的注册表和视图蜂巢metastore统一目录。
确定注册表目前统一目录,检查目录名称。表目录hive_metastore
在蜂巢metastore注册。其他由统一目录列出目录。
请注意
统一目录管理分区不同蜂巢。蜂巢的命令不支持直接操作分区表上由统一目录管理。
或多个表统一目录升级模式
你可以复制完整的模式(数据库)和多个外部表从你默认蜂巢metastore统一目录metastore使用数据浏览升级向导。
升级过程
点击数据在侧栏打开数据浏览。
选择
hive_metastore
当你的目录和选择你想要的模式(数据库)升级。点击升级在右上角的模式细节视图。
选择你想要的所有表的升级和点击下一个。
为每个表设置目的地目录和模式。
你将能够访问新创建的表中目录和模式。目标目录和模式可以设置单独为每个表或散装。批量设置它们,首先选择部分或全部表,然后设置目的地目录和模式。
检查表的配置。要修改,单击以前的按钮。
点击创建查询升级。
查询编辑器出现生成的SQL语句。
运行该查询。
查询完成后,每个表的元数据被复制从蜂巢metastore统一目录。这些表中标记为升级升级向导。
定义使用的细粒度访问控制权限每个新表的选项卡。
修改您的工作负载使用新表。
外部表升级到统一目录
你可以复制一个外部表从你默认蜂巢metastore统一目录metastore使用数据浏览。
升级过程
升级一个外部表:
点击数据在侧栏打开数据浏览。
选择数据库,然后,你想升级。
点击升级操作在桌子的右上角细节视图。
选择您的目的地目录和数据库中统一目录,然后单击升级。
表元数据被复制到统一目录,并创建一个新表。现在,您可以定义的细粒度访问控制权限选项卡。
修改工作负载使用新表。
请注意
如果你不再需要旧的表,你可以从蜂巢Metastore放弃。减少外部表不修改云租户的数据文件。
升级统一目录
你升级后所有视图的引用表相同的目录metastore统一,你可以创建一个新视图引用新表。
升级一个表统一目录管理表
升级一个表统一目录管理表:
创建一个新的目录表统一通过查询现有表。替换占位符的值:
<目录>
新表:统一目录编目。< new_schema >
:统一编目模式为新表。< new_table >
:统一目录表的名称。< old_schema >
:旧表的模式,比如默认的
。< old_table >
:旧的表的名称。
创建表<目录>。<new_schema>。<new_table>作为选择*从hive_metastore。<old_schema>。<old_table>;
df=火花。表(“hive_metastore。< old_schema >。< old_table >”)df。写。saveAsTable(的名字=“<目录>,< new_schema >。< new_table >”)
%r图书馆(SparkR)df=tableToDF(“hive_metastore。< old_schema >。< old_table >”)saveAsTable(df=df,的表=“<目录>,< new_schema >。< new_table >”)
瓦尔df=火花。表(“hive_metastore。< old_schema >。< old_table >”)df。写。saveAsTable(的表=“<目录>,< new_schema >。< new_table >”)
如果你想迁移只有一些列或行,修改
选择
声明。请注意
这个命令创建一个管理表的数据复制到存储位置时被提名metastore成立。创建一个外部表注册表,统一目录不动云存储中的数据,看看外部表升级到统一目录。
格兰特户头级别用户或组对新表的访问。看到统一目录管理权限。
表迁移后,用户应该更新他们现有的查询和工作负载使用新表。
在你删除旧表之前,测试依赖关系通过撤销访问它,重新运行相关的查询和工作负载。