我只需要分配x个文件。
无法找到办法。
一个想法是将其复制到临时目录,然后 distcp 该目录。完成后,我可以删除该临时目录。
各个distcp命令(对于每个文件)。这可能很痛苦。
不确定是否允许使用逗号分隔。
有什么想法吗?
提前致谢。
答案 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/