hdfs 将多个文件复制到同一个目标目录

Posted

技术标签:

【中文标题】hdfs 将多个文件复制到同一个目标目录【英文标题】:hdfs copy multiple files to same target directory 【发布时间】:2017-05-02 08:10:51 【问题描述】:

我了解到,如果您想将多个文件从一个 hadoop 文件夹复制到另一个 hadoop 文件夹,您最好创建一个包含大量组件的大型“hdfs dfs -cp”语句,而不是创建多个 hdfs dfs -cp 语句。 使用“更好”是指它会缩短复制文件所需的总时间:一个命令比几个单独的 -cp 命令相互运行要快。

当我这样做并且我想要复制的所有文件的目标目录都相同时,我会收到一条警告。

我正在执行以下命令:

hdfs dfs -cp -f /path1/file1 /pathx/target /path2/file2 /pathx/target /path3/file3 /pathx/target

执行后我收到以下警告:

cp: `/pathx/target' to `/pathx/target/target': is a subdirectory of itself

虽然我收到了这个奇怪的警告,但副本本身应该会成功。 这是一个错误还是我错过了什么?

【问题讨论】:

【参考方案1】:

或者你可以这样做:

hadoop fs -cp /path1/file1, file2, file3 /pathx/target

如果要复制所有文件,则:

hadoop fs -cp /path1/* /pathx/target

【讨论】:

【参考方案2】:

尝试使用以下语法:

hadoop fs -cp /path1/file1 /path2/file2 path3/file3 /pathx/target

【讨论】:

呃,原来如此。谢谢!我应该先检查文档...hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/… 所以它是hdfs dfs -cp source1 source2 source3 target

以上是关于hdfs 将多个文件复制到同一个目标目录的主要内容,如果未能解决你的问题,请参考以下文章

linux 怎样复制一个目录的所有文件到另一个目录

Linux系统怎么复制文件夹下的全部文件到另外文件夹

Linux 中 cp 命令(文件复制)

Linux 中 cp 命令(文件复制)

linux如何复制文件夹下所有文件但不复制子目录

CP命令