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

时间:2017-08-18 11:18:11

标签: hadoop distcp

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

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

enter image description here

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

enter image description here

将/ user / bhavesh中的2个文件复制到/ user / uday文件夹(此工作正常)

enter image description here

enter image description here

此create / user / uday文件夹

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

enter image description here

enter image description here

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

1 个答案:

答案 0 :(得分:1)

在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/  

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