我只需要 distcp x 个文件。
找不到办法。
一个想法是将其复制到一个临时目录上,然后对该目录进行distcp。完成后,我可以删除该临时目录。
单独的 distcp 命令(针对每个文件)。这可能很痛苦。
不确定是否允许逗号分隔。
有任何想法吗?
提前致谢。
您可以将所有文件作为源传递给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/