hive表导出到cluster + distcp中的其他hadoop集群或hive导出?

时间:2016-01-23 13:24:43

标签: hadoop hive hdfs distcp

我想将hive表从一个Hadoop集群A导出到另一个B。

我有两种方法:

首先:

  • 导出到A的hdfs(相同的群集

  • distcp 到群集B的hdfs(不同群集

  • 导入到群集B的配置单元

第二

  • 导出到B的hdfs(不同群集
  • 导入到群集B的配置单元

distcp 会增加额外的优势吗?

1 个答案:

答案 0 :(得分:0)

不清楚你的意思是"导出到HDFS"并且"导入Hive"。无论如何,Hive数据文件 存储在HDFS中!

对于托管表,所有这些数据文件位于相同的"位置"以确定的方式,最简单的事情是:

  • 在群集B中创建一个空的托管表,完全相同的布局和Serde - 同时创建所有预期的分区(如果有的话)
  • distcp来自" location"的整个HDFS树在A到"位置"在B
  • 完成!

我们采取的措施是将一些Prod数据(ORC w / GZip压缩,按月划分)克隆到测试群集。

请注意,您可以在单个子目录上使用多个distcp命令将副本限制为分区列表。