对TextFile格式文件的lzo压缩建立index索引

转自:http://blog.csdn.net/yangbutao/article/details/8519572

hadoop中可以对文件进行压缩,可以采用gzip、lzo、snappy等压缩算法。
对于lzo压缩,常用的有LzoCodec和lzopCodec,可以对sequenceFile和TextFile进行压缩,但是有一点,对TextFile压缩后,mapred对压缩后的文件默认是不能够进行split操作,需要对该lzo压缩文件进行index操作,生成lzo.index文件,map操作才可以进行split。
/hadoop jar hadoop-lzo.jar com.hadoop.compression.lzo.LzoIndexer   xxx.lzo
索引完成后,在lzo压缩文件的相同目录下,生成.lzo.index文件
 
需要说明的是,
1、不支持对sequenceFile 生成.lzo格式的压缩文件,虽然支持对sequenceFile压缩
      只支持对Store as textFile的生成.lzo后缀的文件
2、如果设置LzoCodec,那么就生成.lzo后缀的文件,可以用LzoIndexer 进行支持split的index计算,如果设置LzopCodec,那么生成.lzo_deflate后缀的文件,不支持建立index。
posted @ 2016-06-20 15:31  五三中  阅读(1392)  评论(0编辑  收藏  举报