0

我想将配置单元表从一个 Hadoop 集群 A 导出到另一个 B。

我有两种方法:

第一的:

  • 导出到 A 的 hdfs(同一个集群

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

  • 导入集群 B 的配置单元

第二:

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

distcp 是否增加了额外的优势?

4

1 回答 1

1

目前尚不清楚“导出到 HDFS”和“导入到 Hive”是什么意思。无论如何,Hive 数据文件存储在 HDFS 中!

对于托管表,所有这些数据文件都以确定的方式位于同一“位置”下,最简单的做法是:

  • 在集群 B 中创建一个具有完全相同布局和 Serde的空托管表- 还创建所有预期的分区(如果有)
  • distcp从 A 中的“位置”到 B 中的“位置”的整个 HDFS 树
  • 完毕!

这就是我们将一些 Prod 数据(带 GZip 压缩的 ORC,按月分区)克隆到测试集群的方法。

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

于 2016-01-23T15:57:44.853 回答