2

我只需要 distcp x 个文件。

找不到办法。

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

  2. 单独的 distcp 命令(针对每个文件)。这可能很痛苦。

不确定是否允许逗号分隔。

有任何想法吗?

提前致谢。

4

1 回答 1

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/
于 2017-05-03T05:11:03.587 回答