Hadoop支持Lzo压缩配置及案例 4年前

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

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

大数据技术与架构

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

暴走大数据

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

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

3)同步hadoop-lzo-0.4.20.jar到hadoop103、hadoop104

[atguigu@hadoop102 common]$ xsync hadoop-lzo-0.4.20.jar

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

<?xml version="1.0" encoding="UTF-8"?>

5)同步core-site.xml到hadoop103、hadoop104

[atguigu@hadoop102 hadoop]$ xsync core-site.xml

6)启动及查看集群

[atguigu@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.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

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

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

本文分享自微信公众号 - 大数据技术与架构(import_bigdata)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

那个晴天
(根据相关法律法规,相关内容已被屏蔽。)
4
发布数
1
关注者
6394
累计阅读

热门教程文档

Flutter
105小节
10.x
88小节
MySQL
34小节
Spring Cloud
8小节
Maven
5小节
广告