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、第二个问题是合并完成后,之前的文件没有删除掉,需要手动去删除

这个可以通过文件合并后特殊命名,按照名字模糊删除掉之前的文件

 

posted @ 2018-04-16 09:42  double_kill  阅读(444)  评论(0)    收藏  举报