我必须将配置单元表复制到另一个集群中,保留表的模式和层次结构,所以我的问题是:为了将cluster1的确切表(和数据库)副本复制到cluster2中,最安全和正确的方法是什么。
我找到了一些方法,可以说:
- hive > export TABLE1;
- distcp hdfs:source_Path hdfs:dest_Path
- hive > import TABLE1; #in Cluster 2
- hive> MSCK REPAIR TABLE TABLE1;
但是由于我必须复制大量的数据库和表,有没有什么快速而安全的方法,比如将datawarehouse1的状态或快照复制到datawarehouse1…等等?
提前谢谢。
1条答案
按热度按时间j91ykkif1#
模式迁移(假设hive metastore存储在mysql中)
获取metastore数据库的转储
用cluster2的fs uri替换cluster1的fs uri
将转储移动到目标集群并还原它。
如果目标配置单元的版本不同,请运行相关的升级脚本。
仓库和外部表的迁移必须使用
distcp
保留目录结构。Hive
export
以及import
没有数据库选项。