lzo在hdfs上压缩和索引文件?

fdbelqdn  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(460)

通常我会做以下操作来使用lzo:
使用lzop命令压缩本地磁盘上的数据文件。
把它放到hdfs里。
使用分布式lzo索引器生成.index文件。
我想知道有没有一种方法可以同时压缩和索引hdfs上的原始文件?

lztngnrs

lztngnrs1#

是的,你可以:
在客户端和服务器上的core-site.xml中,将com.hadoop.compression.lzo.lzopcodec附加到以逗号分隔的编解码器列表中:

<property>
  <name>io.compression.codecs</name>
  <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,
    org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.DeflateCodec,
    org.apache.hadoop.io.compress.SnappyCodec,com.hadoop.compression.lzo.LzopCodec</value>
</property>

在jobtracker主机上编辑mapred-site.xml文件:

<property>
  <name>mapred.compress.map.output</name>
  <value>true</value>
</property>  

<property>     
   <name>mapred.map.output.compression.codec</name>
   <value>com.hadoop.compression.lzo.LzopCodec</value>   
</property> 

<property>     
   <name>mapred.output.compression.type</name>        
   <value>BLOCK</value>
</property>

相关问题