HDFS小文件 批量合并工具
1、参考文章内容如下:
https://blog.csdn.net/asdfzjs/article/details/48159471
2、我们重点看上面博客所说的第四种方式,这个工具的使用
原文部分如下:
4) Hadoop File Crush
http://www.jointhegrid.com/hadoop_filecrush/index.jsp
Sample invocation
hadoop jar filecrush-2.0-SNAPSHOT.jar crush.Crush -Ddfs.block.size=134217728 \
--input-format=text \
--output-format=text \
--compress=none \
/path/to/my/input /path/to/my/output/merge 20100221175612
这里134217728是一个随机的时间戳,可以表示为运行脚本的时间。
阅读下面的文档了解详细的帮助,我也推荐用这个工具解决小文件的问题
http://www.jointhegrid.com/svn/filecrush/trunk/src/main/resources/help.txt
3、在使用中遇到的问题
3.1、这个工具代码任然不够灵活,没有提供对已经压缩了的文件的合并,下面是其参数说明部分。

提供的输入文件格式只有2中,text和sequence
所以在我们的场景中并不适用。但是任然是一个很好的方式,可以参照其源码和规范,自己写一个文件合并的工具。
3.2、第二个问题是合并完成后,之前的文件没有删除掉,需要手动去删除
这个可以通过文件合并后特殊命名,按照名字模糊删除掉之前的文件

浙公网安备 33010602011771号