2

Hive 有 Managed Tables 和 External Tables 两种表,不同之处可以查看Managed。VS 外部表

目前,要将外部数据库从 移动HDFSAlluxio,我需要将外部表的位置修改为alluxio://

该声明类似于:alter table catalog_page set location "alluxio://node1:19998/user/root/tpcds/1000/catalog_returns"

根据我的理解,应该是简单的metastore修改,但是对于一些表的修改,要花上几十分钟。数据库本身包含大约 1TB 数据顺便说一句。

无论如何我可以加速表更改过程吗?如果不是,为什么这么慢?欢迎任何意见,谢谢。

4

1 回答 1

3

我找到了建议的方式,metatool$HIVE_HOME/bin.

metatool -updateLocation <new-loc> <old-loc>      Update FS root location in the
                                          metastore to new location.Both
                                          new-loc and old-loc should be
                                          valid URIs with valid host names
                                          and schemes.When run with the
                                          dryRun option changes are
                                          displayed but are not persisted.
                                          When run with the
                                          serdepropKey/tablePropKey option
                                          updateLocation looks for the
                                          serde-prop-key/table-prop-key
                                          that is specified and updates
                                          its value if found.

通过使用这个工具,位置修改非常快。(可能几秒钟。)

将此线程留给可能遇到相同情况的任何人。

于 2019-08-29T03:41:50.073 回答