是否可以在2个Hdfs目录(单独的集群)之间使用distcp来分隔文件(以逗号分隔)?

时间:2017-05-03 00:46:23

标签: hadoop hdfs distcp

我只需要分配x个文件。

无法找到办法。

  1. 一个想法是将其复制到临时目录,然后 distcp 该目录。完成后,我可以删除该临时目录。

  2. 各个distcp命令(对于每个文件)。这可能很痛苦。

  3. 不确定是否允许使用逗号分隔。

    有什么想法吗?

    提前致谢。

1 个答案:

答案 0 :(得分:4)

您可以将所有文件作为来源传递到 DistCp 命令

hadoop distcp hdfs://src_nn/var/log/spark/appHistory/<appId_1>/ \
              hdfs://src_nn/var/log/spark/appHistory/<appId_2>/ \
              ....
              hdfs://src_nn/var/log/spark/appHistory/<appId_n>/ \
              hdfs://dest_nn/target/

或者,创建一个包含源列表的文件,并使用-f选项将其作为源传递给命令

hadoop distcp -f hdfs://src_nn/list_of_files hdfs://dest_nn/target/