對TextFile格式檔案的lzo壓縮建立index索引
阿新 • • 發佈:2019-01-27
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。