复制单个文件时hadoop discp问题

hc2pp10m  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(444)

(注意:我需要使用distcp来获得并行性)
我在/user/bhavesh文件夹中有2个文件

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

将2个文件从/user/bhavesh复制到/user/uday文件夹(这很好)


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


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

bvjveswy

bvjveswy1#

在unix系统中,当您通过指定以/user/uday1/结尾的目标目录名来复制单个文件时,将创建目标目录,但是如果目标目录丢失,hadoop fs-cp命令将失败。
当使用hdfs distcp时,如果是单个文件,则以/结尾的文件/目录名将被忽略。一种解决方法是在执行distcp命令之前创建目标目录。您可以在-mkdir中添加-p选项以避免目录已经存在的错误。

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

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

相关问题