一、Hadoop数据压缩及其优缺点

1、压缩技术的好处与坏处

好处:

  • 减少存储磁盘空间
  • 降低IO(网络的IO和磁盘的IO)
  • 加快数据在磁盘和网络中的传输速度,从而提高系统的处理速度。

坏处:

  • 由于使用数据时,需要先将数据解压,加重了CPU的负荷。

使用压缩的基本原则:

  • 运算密集型的job,少用压缩
  • IO密集型的job,多用压缩

2、压缩格式

压缩格式 Hadoop自带 算法 文件扩展名 是否可以切分 工具 Hadoop编码/解码器
Default 是,直接使用 Default .deflate N/A org.apache.hadoop.io.compress.DefaultCodec
Gzip 是,直接使用 Default .gz gzip org.apache.hadoop.io.compress.GzipCodec
bzip 是,直接使用 bzip2 .bz2 bzip2 org.apache.hadoop.io.compress.BZip2Codec
LZO 否,需要安装 LZO .lzo Lzop com.hadoop.compression.lzo.LzopCodec
LZ4 否,需要安装 lZ4 .lz4 N/A com.hadoop.compression.lzo.Lz4Codec
Snappy 否,需要安装 Snappy

.snappy

N/A org.apache.hadoop.io.compress.SnappyCodec

3、优缺点

压缩格式 优点 缺点
gzip

压缩比在四种压缩方式中比较高;hadoop本身支持,在应用中处理gizp格式的文件和直接处理文本一样;有hadoop native库,大部分linux系统都自带gzip命令,使用方便。

不支持split
lzo 压缩/解压速度也比加快,合理 的压缩率;支持split,是hadoop中最流行的压缩格式,支持hadoop native库;需要在linux系统下自行安装lzop命令,使用方便 压缩率比gizp要低;hadoop本身不支持,需要安装;lzo虽然支持split,但需要对lzo文件建索引,否则hadoop也是会把lzo文件看成一个普通文件(为了支持split需要建索引,需要指定inputformat为lzo格式)
snappy 压缩速度快;支持hadoop native库 不支持split;压缩比低;hadoop本身不支持,需要安装;linux系统下没有对应的命令d.bzip2
bzip2 支持split;具有很高的压缩率,比gzip压缩率都高;hadoop本身支持,但不支持native;在linux系统自带bzip2命令,使用方便 压缩/解压速度慢;不支持native

二、总结

1、不同的场景选择不同的压缩方式,如果选择高压缩比,那么对于cpu的性能要求要高,同事压缩/解压耗时也长;

2、选择压缩比低,对于磁盘Io、网络IO的时间要多,空间占据要多;对于支持分割的,可以实现并行处理。

应用场景:一般用在HDFS、Hive、HBase中会使用,一般较多的是结合Spark来一起使用。

Hadoop数据压缩技术的更多相关文章

  1. Hadoop(八)Hadoop数据压缩与企业级优化

    一 Hadoop数据压缩 1.1 概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数.压缩提高了网络带宽和磁盘空间的效率.在Hadood下,尤其是数据规模很大和工作负载密集的情况下,使用数据 ...

  2. Hadoop笔记——技术点汇总

    目录 · 概况 · Hadoop · 云计算 · 大数据 · 数据挖掘 · 手工搭建集群 · 引言 · 配置机器名 · 调整时间 · 创建用户 · 安装JDK · 配置文件 · 启动与测试 · Clo ...

  3. Hadoop记录-技术网站

    Grafan监控:http://docs.grafana.org/ Tez:http://tez.apache.org/install.html 阿里巴巴镜像:https://opsx.alibaba ...

  4. 大数据项目相关技术栈(Hadoop周边技术)

    J2EE 框架Spring 开发框架 + SSH or SSM Lucene 索引和查询IKAnalyzer 分词Webmagic 爬虫 ETL工具:KettleSqoop 结构化数据库-hadoop ...

  5. hadoop行业技术创新解决方案

    如今有很多公司都在努力挖掘他们拥有的大量数据,包括结构化.非结构化.半结构化以及二进制数据等,来探索对数据的深入利用. 大多数公司估计他们只分析了已有数据的12%,剩余88%还没有被充分利用.大量的数 ...

  6. Hadoop生态圈技术图谱

    当下Hadoop已经成长为一个庞大的体系,貌似只要和海量数据相关的,没有哪个领域缺少Hadoop的身影,下面是一个Hadoop生态系统的图谱,详细的列举了在Hadoop这个生态系统中出现的各种数据工具 ...

  7. MapReduce 规划 系列的12 使用Hadoop Streaming技术集成newLISP文字

    本文example6环境与前Hadoop 1.x异,于Hadoop 2.x环境测试. 功能与前面相同的日志处理程序. 第一newLISP文字,游玩mapper任务.于stdin读取文本数据,将did由 ...

  8. Hadoop(22)-Hadoop数据压缩

    1.压缩概述 2.压缩策略和原则 3.MapReduce支持的压缩编码 64位系统下的单核i7,Snappy的压缩速率可以达到至少250MB/S,解压缩速率可以达到至少500MB/S 4.压缩方式选择 ...

  9. about云Hadoop相关技术总结

    让你真正明白spark streaminghttp://www.aboutyun.com/forum.php?mod=viewthread&tid=21141(出处: about云开发)

随机推荐

  1. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 网格系统实例:偏移列

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 了解 Fetch API与Fetch+Async/await

    背景 提及前端与服务器端的异步通信,离不开 Ajax (Asynchronous JavaScript and XML).实际上我们常说的 Ajax 并非指某一项具体的技术,它主要是基于用脚本操作 H ...

  3. Linux centosVMware 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    一.配置Tomcat监听80端口 关闭tomcat报错 [root@davery src]# /usr/local/tomcat/bin/shutdown.sh 重装tomcat即可 vim /usr ...

  4. Django学习之ORM练习题

    一.表关系 创建表关系,并创建约束 班级表:class 学生表: student cid caption grade_id sid sname gender class_id 1 一年一班 1 1 乔 ...

  5. 五、centos7安装mysql:安装mysqlser

    一.下载通用安装二进制包 先下载mysql安装包:打开 http://dev.mysql.com/downloads/mysql/ 选择 linux - Generic并在其下选择 Linux - G ...

  6. 嵊州普及Day6T3

    题意:n个点,对于q个询问,有t秒及一个矩形的范围.在此矩形内的数每秒加1,若等于c,则下一秒变为0. 思路:t可能很大,%c+1就可以了.然后一个一个加起来就可以了. 见代码: #include&l ...

  7. mysql odbc 配置详解

    1.安装mysql 以及mysql odbc 要注意自己的版本 版本都要统一(32位 或者64位) 2.出现的error 1989 126错误代码 Error 1918. Error installi ...

  8. Keras入门——(5)长短期记忆网络LSTM(二)

    参考: https://blog.csdn.net/zwqjoy/article/details/80493341 https://blog.csdn.net/u012735708/article/d ...

  9. android sqlite 图片保存和读出 用流 转字节码

    原文:http://blog.sina.com.cn/s/blog_8cfbb99201012oqn.html package com.yiyiweixiao; import android.cont ...

  10. tomcat#结构

    下面是一个tomcat的配置文件,通过分析tomcat配置文件的结构,和相关注释,可以大致了解tomcat的结构 <?xml version="1.0" encoding=& ...