Xargs命令不支持带有多个输入文件的hadoop put命令
hadoop支持使用以下命令将多个本地文件复制到hdfsXargs命令不支持带有多个输入文件的hadoop put命令,hadoop,hdfs,xargs,Hadoop,Hdfs,Xargs,hadoop支持使用以下命令将多个本地文件复制到hdfs hadoop fs -put localfile1 localfile2 /user/hadoop/hdfsdir 我们需要复制数十万个文件,由于内存问题,我们希望使用xargs在chuncks中复制 但下面的命令给出了错误 echo "localfile1 localfile2" |xargs -t -I {} hadoop fs -put {} /user/hadoop/hdfsdir 它给出了put:意外的URISyntaxE
hadoop fs -put localfile1 localfile2 /user/hadoop/hdfsdir
我们需要复制数十万个文件,由于内存问题,我们希望使用xargs在chuncks中复制
但下面的命令给出了错误
echo "localfile1 localfile2" |xargs -t -I {} hadoop fs -put {} /user/hadoop/hdfsdir
它给出了put:意外的URISyntaxException错误
这里的localfile1
和localfile2
是我当前工作目录中的文件
单文件命令正在工作,即
echo "localfile1" |xargs -t -I {} hadoop fs -put {} /user/hadoop/hdfsdir
可能太晚了,但我在尝试做同样的事情时遇到了你的问题 我遵循这一点,编写了以下命令,一次上载所有texttiles 4:
find . -name '*.textile' -print0 |xargs -0 -P 4 -I % hadoop fs -put % /user/myName/
- -print0:执行空分隔令牌列表
- -0:因此xarg可以识别空分隔符
- -n:所以几个PUT是并行运行的
- -I:所以每个令牌都包含在hadoop fs-put令牌中