通常我会做以下操作来使用lzo:使用lzop命令压缩本地磁盘上的数据文件。把它放到hdfs里。使用分布式lzo索引器生成.index文件。我想知道有没有一种方法可以同时压缩和索引hdfs上的原始文件?
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>
1条答案
按热度按时间lztngnrs1#
是的,你可以:
在客户端和服务器上的core-site.xml中,将com.hadoop.compression.lzo.lzopcodec附加到以逗号分隔的编解码器列表中:
在jobtracker主机上编辑mapred-site.xml文件: