hadoop - Hive中如何使用DistCp直接将数据转表?

标签 hadoop bigdata distcp

我正在使用 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/

相关文章:

hadoop - 将有序 key 发送到正确的 reducer

hadoop - Hadoop中的Oozie pig 工作流程2.2 pig 0.12.1 oozie 4.1.0

r - 大型数据集最佳实践的内连接

Hadoop distcp 异常

hadoop - 如何找到自动终止的 hive mapreduce 作业的原因

hadoop - 随机播放错误:超过MAX_FAILED_UNIQUE_FETCHES;救助

java - 无法启动配置单元

machine-learning - TensorFlow 估计器 input_fn 具有非常大的数据集?

hadoop - 从HDFS复制到S3时使用GroupBy合并文件夹中的文件

hadoop - HDFS LeaseExpiredException