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

z8dt9xmd  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(370)

我只需要分发x个文件。
找不到办法。
一种方法是将其复制到一个临时目录上,然后分发到该目录。一旦完成,我可以删除临时目录。
单个distcp命令(针对每个文件)。这可能会很痛苦。
不确定是否允许逗号分隔。
有什么想法吗?
提前谢谢。

o2gm4chl

o2gm4chl1#

您可以将所有文件作为源文件传递给 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/

相关问题