我有两个mapreduce作业,它们在两个单独的目录中生成文件,如下所示:
Directory output1:
------------------
/output/20140102-r-00000.txt
/output/20140102-r-00000.txt
/output/20140103-r-00000.txt
/output/20140104-r-00000.txt
Directory output2:
------------------
/output-update/20140102-r-00000.txt
我想将这两个目录合并到一个新目录/output complete/中,其中20140102-r-00000.txt替换/output目录中的原始文件,并且从文件名中删除所有“-r-0000x”。两个原始目录现在将为空,生成的目录应如下所示:
Directory output3:
-------------------
/output-complete/20140102.txt
/output-complete/20140102.txt
/output-complete/20140103.txt
/output-complete/20140104.txt
最好的方法是什么?我只能使用hdfs shell命令吗?我需要创建一个java程序来遍历这两个目录并执行逻辑吗?
2条答案
按热度按时间5anewei61#
你可以用Pig。。。
或hdfs命令。。。
单引号可能不起作用,请尝试使用双引号
bttbmeg02#
您可以使用hdfs命令-getmerge来合并hdfs文件。