【发布时间】:2014-03-05 07:22:12
【问题描述】:
通常我会执行以下操作来使用 LZO:
- 使用 lzop 命令压缩本地磁盘上的数据文件。
- 将其放入 HDFS。
- 使用分布式 lzo 索引器生成 .index 文件。
我想知道有没有办法同时压缩和索引 HDFS 上的原始文件?
【问题讨论】:
通常我会执行以下操作来使用 LZO:
我想知道有没有办法同时压缩和索引 HDFS 上的原始文件?
【问题讨论】:
是的,你可以:
在客户端和服务器上的 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>
【讨论】: