我正在使用 DistCp 将数据从集群 1 复制到集群 2。我成功地将表数据从集群 1 复制到集群 2。但是,使用 hdfs,数据已发送到文件浏览器。
是否有任何直接的方法可以通过使用 DistCp 命令将此 hdfs 数据转换为 Hive 表(包括数据类型、分隔符等)?我当然可以查询它以从 hdfs 收集数据,但是我必须将它们一个接一个地转换。试图寻找有效的方法。谢谢!
示例:
hadoop distcp hdfs://nn1:8020/source/a hdfs://nn1:8020/source/b hdfs://nn2:8020/destination
最佳答案
还没有找到可以直接使用 DistCp 复制表的文档。但是,如果有人正在寻找类似的情况,他们可以使用。为我工作。
--hive
export table <<<table_name>>> to '<<<hdfs path>>>';
#bash/shell
hadoop distcp source desitination
--hive
import table <<<table_name>> from '<<<hdfs>>>';
关于hadoop - Hive中如何使用DistCp直接将数据转表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33267312/