一、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. Linux命令:route命令

    route显示或修改IP路由表 route -n:显示路由信息,使用数字格式显示,不反解地址到主机名 #route -n Kernel IP routing table Destination Gat ...

  2. tcp连接建立和断开

    TCP协议作为传输层主要协议之一,具有面向连接,端到端,可靠的全双工通信,面向字节流的数据传输协议. 1.TCP报文段 虽然TCP面试字节流,但TCP传输的数据单元却是报文段.TCP报文段分为TCP首 ...

  3. mysql如何查看表的索引以及如何删除表的索引

    mysql中如何查看和删除唯一索引. 查看唯一索引: show index from mytable;//mytable 是表名 查询结果如下: 查询到唯一索引后,如何删除唯一索引呢,使用如下命令: ...

  4. windows索引服务

        windows索引服务是windows操作系统提供的桌面搜索引擎,通过预先创建索引来提高对硬盘上文件内容的搜索速度.以windows服务程序的方式运行. 一.工作方式 1.对指定路径下的文件创 ...

  5. 四 动态sql 标签的使用(if&where&sql片段&foreach)

    if标签的使用: userMapper.xml  userMapper.java junit: where标签: 注意:写了where标签就不用手动写where语句 sql片段的设置和调用: forr ...

  6. C. Maximum Median 二分

    C. Maximum Median 题意: 给定一个数组,可每次可以选择一个数加1,共执行k次,问执行k次操作之后这个数组的中位数最大是多少? 题解:首先对n个数进行排序,我们只对大于中位数a[n/2 ...

  7. Python学习笔记之基础篇(五)字典

    #数据类型划分:可变数据类型 不可变数据类型 #不可变数据类型 : 元组 bool int str --> 可哈希 #可变数据类型 list ,dict set --->不可哈希 ''' ...

  8. Dockfile的详解

    Dockerfile是构建镜像的指令文件,按照dockerfile的规范分为如下几部分: FROM 基础镜像,FROM alpine:3.8(任何的一个镜像都可以作为基础镜像,主要看我们做的镜像是干嘛 ...

  9. ADV-298 和谐宿舍2 动态规划

    和谐宿舍2 问题描述 我的某室友学过素描,墙上有n张他的作品.这些作品都是宽度为1,高度不定的矩形,从左到右排成一排,且底边在同一水平线上. 宿舍评比就要来了,为了及格,我们决定买不多于m块的矩形木板 ...

  10. Windows驱动开发-IRP结构体

    IRP的全名是I/O Request Package,即输入输出请求包,它是Windows内核中的一种非常重要的数据结构. 上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将相应的 ...