(注意:我需要使用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应该形成目录]任何建议或帮助都非常感谢。
1条答案
按热度按时间bvjveswy1#
在unix系统中,当您通过指定以/user/uday1/结尾的目标目录名来复制单个文件时,将创建目标目录,但是如果目标目录丢失,hadoop fs-cp命令将失败。
当使用hdfs distcp时,如果是单个文件,则以/结尾的文件/目录名将被忽略。一种解决方法是在执行distcp命令之前创建目标目录。您可以在-mkdir中添加-p选项以避免目录已经存在的错误。
这适用于源目录中的单个文件和多个文件。