复制单个文件时出现 hadoop distcp 问题

hadoop discp issue while copying singe file

(注意:我需要使用distcp来获得并行度)

我在 /user/bhavesh 文件夹中有 2 个文件

我在 /user/bhavesh1 个文件夹中有 1 个文件

正在将 2 个文件从 /user/bhavesh 复制到 /user/uday 文件夹(这项工作正常)

这将创建 /user/uday 文件夹

如果创建文件而不是文件夹,则将 1 个文件从 /user/bhavesh1 复制到 /user/uday1 文件夹

我需要的是如果有一个文件 /user/bhavesh1/emp1.csv 我需要的是它应该创建 /user/uday1/emp1.csv [uday1 应作为目录] 非常感谢任何建议或帮助。

在 unix 系统中,当您通过以 /user/uday1/ 结尾的目标目录名称复制单个文件时,将创建目标目录,但是如果目标目录丢失,hadoop fs -cp 命令将失败。

如果是hdfs distcp,file/dir如果是单个文件,以/结尾的名称将被忽略。一种解决方法是在执行 distcp 命令之前创建目标目录。您可以在 -mkdir 中添加 -p 选项以避免目录已存在错误。

hadoop fs -mkdir -p /user/uday1  ; hadoop distcp /user/bhavesh1/emp*.csv /user/uday1/  

这适用于源目录中的单个文件和多个文件。