暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hive数据压缩的几种方案

大数据研习社 2021-05-19
1573

长按二维码关注

大数据领域必关注的公众号

By大数据研习社

概要:Hive中使用数据压缩,可以减少存储磁盘空间,降低单节点的磁盘IO。由于压缩后的数据占用的带宽更少,因此可以加快数据在Hadoop集群流动的速度。

关键词:Hive、数据压缩、Snappy、Lzo


Part 1
Hive数据压缩的几种方案




1.1 数据压缩优点

减少存储磁盘空间,降低单节点的磁盘IO。由于压缩后的数据占用的带宽更少,因此可以加快数据在Hadoop集群流动的速度。




1.2 数据压缩缺点

Hive做大数据分析运行过程中,需要花费额外的时间/CPU做压缩和解压缩计算。




1.3 几种数据压缩方案


几种压缩方案总结:

1)lzo和snappy的压缩率和压缩速度相对比较均衡。

2)压缩文件是否能分割的也比较重要,MapReduce 需要将大文件分割成多个分片,每个map处理一个分片数据,从而并行进行处理。

3)虽然GZip与Snappy文件不可分,但也有替代的方案。可以控制输出文件个数和大小。




1.4 数据压缩运行过程分析




1.5 Hive中数据压缩配置与测试

1.查看集群支持的压缩算法

使用以下命令,可以查看是否有相应压缩算法的库;如果显示为false,则需要额外安装。

bin/hadoop checknative -a



PS:Hadoop 2.X版本已经集成了snappy、lz4、bzip2等压缩算法的编/解码器,会自动调用对应的本地库,而CentOS 7中自带snappy依赖库,故无需安装安装snappy依赖


如果报错:

openssl: false Cannot load libcrypto.so


原因:

提示不能正确加载 libcrypto.so,因为缺少 ssl lib包


解决:

sudo yum -y install openssl-devel


2.开启map节点输出压缩

Hive中开启Map阶段输出压缩,可以减少在Hive中MR Job的Mapper和Reducer之间的网络I/O。


1)开启Hive中MR中间文件压缩:

hive> set hive.exec.compress.intermediate=true;


2)开启Hadoop的MapReduce任务中Map输出压缩功能:

hive> set mapreduce.map.output.

compress=true;


3)设置Hadoop的MapReduce任务中Map阶段压缩算法(对应的编/解码器):

hive> set mapreduce.map.output.compress.

codec=org.apache.hadoop.io.compress.SnappyCodec;


常用编码/解码器:

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.LzoCodec


4)案例

统计查询每个气象站的平均气温

select id , sum(temperature)/count(*) from temperature group by id limit 10;


备注:通过运行结果可以看到,使用的中间压缩,不影响hive查询


3.开启Reduce阶段输出压缩

当Hive将查询内容写入到表中(local/hdfs)时,输出内容同样可以进行压缩。


1)开启Hive最终查询结果输出文件压缩功能:

hive> set hive.exec.compress.output=true;


2)开启Hadoop中的MR任务的最终输出文件压缩:

hive> set mapreduce.output.fileoutputformat.compress=true;


3)设置Hadoop中MR任务的最终输出文件压缩算法(对应的编/解码器):

hive> set mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;


4)设置Hadoop中MR任务序列化文件的压缩类型,默认为RECORD即按照记录RECORD级别压缩(建议设置成BLOCK):

hive> set mapreduce.output.fileoutputformat.compress.type=BLOCK;


5)案例

统计查询每个气象站的平均气温,然后将统计结果写入result表

create table result as  select id , sum(temperature)/count(*) from tempera-

ture group by id;


从hdfs上查看result结果文件数据格式为snappy



查询result表,看是否能正常查询数据

select * from result limit 10;


4.另一种数据压缩配置方式

通过设置hive-site.xml文件设置启用中间数据压缩,配置文件如下:

<!-- 开启map输出压缩 -->

<property>

<name>hive.exec.compress.intermediate</name>

<value>true</value>

</property>

<!-- 开启reduce输出压缩 -->

<property>

<name>hive.exec.compress.output</name>

<value>true</value>

</property>

<!-- map输出压缩 -->

<property>

<name>mapreduce.map.output.compress</name>

<value>true</value>

</property>

<property>

<name>mapreduce.map.output.compress.codec</name>

<value>org.apache.hadoop.io.compress.SnappyCodec</value>

</property>

<!-- reduce输出压缩 -->

<property>

<name>mapreduce.output.fileoutputformat.compress</name>

<value>true</value>

</property>

<property>

<name>mapreduce.output.fileoutputformat.compress.codec</name>

<value>org.apache.hadoop.io.compress.SnappyCodec</value>

</property>

欢迎点赞 + 收藏 + 在看  素质三连 


往期精彩回顾
程序员,如何避免内卷
【全网首发】Hadoop 3.0分布式集群安装
【2020最新整理】大数据面试130题
某集团大数据平台整体架构及实施方案完整目录
大数据平台基础架构指南
大数据凉凉了?Apache将一众大数据开源项目束之高阁!
实战企业数据湖,抢先数仓新玩法
Superset制作智慧数据大屏,看它就够了

Apache Flink 在快手的过去、现在和未来

大数据基础运维:HDFS参数调优

大数据无处不在,向左还是向右

【HBase调优】Hbase万亿级存储性能优化总结
【Python精华】100个Python练手小程序
【HBase企业应用开发】工作中自己总结的Hbase笔记,非常全面!
【剑指Offer】近50个常见算法面试题的Java实现代码

     长按识别左侧二维码

         关注领福利    

      领10本经典大数据书

数据库
文章转载自 大数据研习社,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

深圳SEO优化公司盐田百度网站优化价格岳阳网站优化推广公司济源企业网站改版公司新余外贸网站制作公司滨州网络广告推广公司茂名网站定制报价临猗网站优化按天收费推荐贺州seo排名价格大丰推广网站推荐盘锦企业网站改版报价阳江网站优化哪家好德州百度竞价公司阜新网络营销多少钱十堰网络广告推广推荐惠州网站搜索优化推荐萍乡建网站多少钱武威模板制作哪家好萍乡seo网站优化岳阳关键词按天收费公司无锡建站推荐松岗模板网站建设南宁企业网站改版鞍山营销型网站建设价格承德网页制作哪家好济宁关键词按天收费公司济源高端网站设计公司商丘网站设计模板哪家好黔西南网站推广工具公司中卫网站seo优化公司廊坊关键词排名包年推广公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化