Hadoop支持Lzo压缩配置及案例

程序源代码

共 2085字,需浏览 5分钟

 ·

2020-09-02 14:48

点击上方蓝色字体,选择“设为星标

回复”资源“获取更多资源

大数据技术与架构
点击右侧关注,大数据开发领域最强公众号!

暴走大数据
点击右侧关注,暴走大数据!



hadoop支持Lzo压缩配置

1)hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译,编译步骤如下。
2)将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/

[atguigu@hadoop102 common]$ pwd/opt/module/hadoop-2.7.2/share/hadoop/common[atguigu@hadoop102 common]$ lshadoop-lzo-0.4.20.jar
3)同步hadoop-lzo-0.4.20.jar到hadoop103、hadoop104
[atguigu@hadoop102 common]$ xsync hadoop-lzo-0.4.20.jar

4)core-site.xml增加配置支持LZO压缩


<configuration><property><name>io.compression.codecsname><value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodecvalue>property>
<property> <name>io.compression.codec.lzo.classname> <value>com.hadoop.compression.lzo.LzoCodecvalue>property>configuration>
5)同步core-site.xml到hadoop103、hadoop104
[atguigu@hadoop102 hadoop]$ xsync core-site.xml
6)启动及查看集群
[atguigu@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh[atguigu@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh

7)创建lzo文件的索引,lzo压缩文件的可切片特性依赖于其索引,故我们需要手动为lzo压缩文件创建索引。若无索引,则lzo文件的切片只有一个。


 hadoop jar /path/to/your/hadoop-lzo.jar  big_file.lzo
案例:以hadoop自带的wordcount为例mr输出结果为lzo格式
1.创建word.txt文件,并写上几个单词上传到hdfs上
[atguigu@hadoop202 bin]$ vim word.txt
[atguigu@hadoop202 bin]$ hdfs dfs -put word.txt /input
2.运行wordcount案例
[atguigu@hadoop202 bin]$ hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar  wordcount -D mapreduce.output.fileoutputformat.compress=true -D maputformat.compress.codec=com.hadoop.compression.lzo.LzopCodec /input /output

在hdfs上看到结果:

此时的lzo文件如果去执行mr任务时任然只会产生一个切片,lzo压缩文件的可切片特性依赖于其索引,故我们需要手动为lzo压缩文件创建索引。
[atguigu@hadoop202 bin]$ hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-lzo-0.4.20.jar  com.hadoop.compression.lzo.DistributedLzoIndexer  /output/part-r-00000.lzo

此时hdfs上会产生带有索引的lzo文件。

版权声明:

本文为大数据技术与架构整理,原作者独家授权。未经原作者允许转载追究侵权责任。
编辑|冷眼丶
微信公众号|import_bigdata


欢迎点赞+收藏+转发朋友圈素质三连




文章不错?点个【在看】吧! ?


浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报