设为首页 收藏本站
查看: 1136|回复: 0

[经验分享] Hadoop中最不容错过的压缩知识

[复制链接]

尚未签到

发表于 2018-10-29 09:47:23 | 显示全部楼层 |阅读模式
  随着大数据时代的来临,数据体量越来越大,处理这些数据会越来越受到网络IO的限制,为了尽可能多的处理更多的数据我们必须使用压缩。那么压缩在Hadoop里面是不是所有格式都适用呢?它都有哪些性能呢?
  压缩在sqoop里面可以做,在hive和impala里面也可以做。那么什么情况下我们会用压缩呢?通常在数据量非常大,我们通过压缩去减小数据量,从而达到将来去使用数据的时候,减少数据传输IO的情况下去使用。压缩对于性能的提升以及存储效率的提高也有作用。
  一、数据压缩
  每种文件格式都支持压缩,压缩将减少磁盘空间的占用。但是压缩本身会带来CPU的一些开销,所以压缩需要在CPU时间和带宽/存储空间之间进行权衡。比如:
  (1)有些算法会花费很长的时间,但节省更多的空间.
  (2)有些算法更快,但节省的空间有限。
  这个怎么来理解呢?我们打个比方,假如说1T的数据压缩成100G,可能需要10分钟。如果压缩成500G可能需要1分钟。请问你选择那种方式?所以我们就需要在CPU时间和带宽之间进行一个权衡,当然这里不存在哪种方式的好坏,只是我们根据自己使用的需求去选择。
  另外,压缩对性能很有好处:很多Hadoop作业是受IO限制的,使用压缩可以每个IO操作处理更多的数据,压缩也可以改进网络传输的性能。
  二、压缩Codecs
  压缩算法的实现被称为codec,是Compressor/Decompressor的简写。很多codecs在Hadoop中很常用,每种都有不同的性能特性。但是,不是所有的Hadoop工具都是跟所有codecs兼容的。Hadoop中常用的压缩算法有bzip2、gzip、lzo、snappy,其中lzo、snappy需要操作系统安装native库才可以支持。
  在这里我们看一下不同压缩工具的性能:
DSC0000.png

  Bzip2和GZIP是比较消耗CPU的,压缩比最高,GZIP不能被分块并行的处理;Snappy和LZO差不多,稍微胜出一点,CPU消耗的比GZIP少。通常情况下,想在CPU和IO之间取得平衡的话,用Snappy和LZO比较常见一些。这里我重点推荐使用Snappy,因为它可以提供很好地压缩性能,而且压缩的数据是可以分片的,对于后期的运行处理有很大的作用。
  另外要注意:对于热数据,速度更重要,1秒压缩40%的数据比10秒压缩80%的数据更好。
  三、Sqoop使用压缩
  Sqoop使用--compression-codec标志
  示例:
  --compression-codec
  org.apache.hadoop.io.compress.SnappyCodec
  四、Impala和Hive使用压缩
  Impala和Hive使用压缩,需要我们在创建表的语法中去指定。可能对于不同的压缩而言,我们指定的属性和语法会有不同。
  注意:Impala在内存里查询数据-压缩和解压缩都在内存
  Impala示例:
DSC0001.png

  建议大家平时多关注一些大数据的相关知识,不断提升和改善自己的知识架构,我自己平时喜欢看“大数据cn”这个微信公众号,里面内容对于我而言很不错,也推荐大家看看。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627826-1-1.html 上篇帖子: Spark和Hadoop大决战 下篇帖子: centos 64位 hadoop 完全分布式安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表