(1) Gzip 压缩

优点:压缩率比较高,而且压缩/解压速度也比较快; hadoop 本身支持,在应用中处理gzip 格式的文件就和直接处理文本一样;大部分 linux 系统都自带 gzip 命令,使用方便.

缺点:不支持 split。

应用场景: 当每个文件压缩之后在 130M 以内的(1 个块大小内),都可以考虑用 gzip压缩格式。 例如说一天或者一个小时的日志压缩成一个 gzip 文件,运行 mapreduce 程序的时候通过多个 gzip 文件达到并发。 hive 程序, streaming 程序,和 java 写的 mapreduce 程序完全和文本处理一样,压缩之后原来的程序不需要做任何修改。

(2) Bzip2 压缩

优点:支持 split;具有很高的压缩率,比 gzip 压缩率都高; hadoop 本身支持,但不支持 native;在 linux 系统下自带 bzip2 命令,使用方便。

缺点:压缩/解压速度慢;不支持 native。

应用场景: 适合对速度要求不高,但需要较高的压缩率的时候,可以作为 mapreduce 作业的输出格式; 或者输出之后的数据比较大,处理之后的数据需要压缩存档减少磁盘空间并且以后数据用得比较少的情况;或者对单个很大的文本文件想压缩减少存储空间,同时又需要支持 split,而且兼容之前的应用程序(即应用程序不需要修改)的情况。

(3) Lzo 压缩

优点:压缩/解压速度也比较快,合理的压缩率;支持 split,是 hadoop 中最流行的压缩格式;可以在 linux 系统下安装 lzop 命令,使用方便。

缺点:压缩率比 gzip 要低一些; hadoop 本身不支持,需要安装;在应用中对 lzo 格式的文件需要做一些特殊处理(为了支持 split 需要建索引,还需要指定 inputformat 为 lzo 格式)。

应用场景: 一个很大的文本文件,压缩之后还大于 200M 以上的可以考虑,而且单个文件越大, lzo 优点越越明显。

(4) Snappy 压缩

优点:高速压缩速度和合理的压缩率。

缺点:不支持 split;压缩率比 gzip 要低; hadoop 本身不支持,需要安装;

应用场景: 当 Mapreduce 作业的 Map 输出的数据比较大的时候,作为 Map 到 Reduce的中间数据的压缩格式;或者作为一个 Mapreduce 作业的输出和另外一个Mapreduce 作业的输入。

【图文详细 】HDFS面试题:hdfs 的数据压缩算法?相关推荐

  1. 王家林 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程...

    这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...

  2. 大数据技术基础实验三:HDFS实验——部署HDFS

    大数据技术基础实验三:HDFS实验--部署HDFS 文章目录 大数据技术基础实验三:HDFS实验--部署HDFS 一.前言 二.实验要求 三.实验原理 1.什么是HDFS? 2.HDFS的体系结构 3 ...

  3. 《从0开始学大数据》之HDFS是如何实现大数据高速、可靠的存储和访问

    Hadoop 分布式文件系统 HDFS 的设计目标是管理数以千计的服务器.数以万计的磁盘,将这么大规模的服务器计算资源当作一个单一的存储系统进行管理,对应用程序提供数以 PB 计的存储容量,让应用程序 ...

  4. hdfs mv命令_大数据入门:HDFS文件管理系统简介

    Hadoop作为大数据主流的基础架构选择,至今仍然占据着重要的地位,而基于Hadoop的分布式文件系统HDFS,也在大数据存储环节发挥着重要的支撑作用.今天的大数据入门分享,我们就主要来讲讲HDFS分 ...

  5. Hadoop,MapReduce,HDFS面试题

    今天发这个的目的是为了给自己扫开迷茫,告诉自己该进阶了,以下内容不一定官方和正确,完全个人理解,欢迎大家留言讨论 1.什么是hadoop 答:是google的核心算法MapReduce的一个开源实现. ...

  6. Zookeeper超详细的面试题

    转载自  Zookeeper超详细的面试题 1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管 ...

  7. [HDFS Manual] CH1 HDFS体系结构

    HDFS体系结构 1 1.HDFS体系结构... 2 1.1介绍... 2 1.2假设和目标... 2 1.3 NameNode 和 DataNode. 2 1.4 文件系统命名空间... 3 1.5 ...

  8. 1.4 Flink HDFS Connector /Flink HDFS连接器

    在上一章节已经翻译了Flink Kafka Connector,但由于HDFS作为大多数研究大数据者日常用到的,此章节并添加翻译HDFS的连接器. 此连接器提供了一个Sink,将分区文件写入Hadoo ...

  9. 优启通桌面只有一个计算机,优启通图文详细使用教程,优启通使用教程

    IT天空打造的优启通是个功能非常强大的u盘启动盘pe制作工具,很多用户下载软件后,不知道怎么用?在这里东坡小编为大家带来了非常详细的优启通使用教程,有图有真相,按照这个步骤,你是不会错的! 类型:安装 ...

  10. Hadoop-JAVA编写HDFS客户端进行HDFS操作

    HDFS客户端操作 环境准备 根据电脑操作系统将对应的编译后的jar包放到非中文路径下,我的是Linux因此将Linux编译后的jar放到指定目录下/home/lxj/workspace/hadoop ...

最新文章

  1. F5第一个10000台
  2. UINavigationItem的titleView的frame问题
  3. Spring在bean配置文件中定义电子邮件模板
  4. Android 对okhttp的封装
  5. Scala混用Java的集合类调用scala的foreach遍历问题
  6. 漫画:什么是二叉堆?(修正版)
  7. 漫话:如何给女朋友解释为什么计算机从0开始计数,而不是从1开始?
  8. 贪心算法两船装载问题Java_贪心算法-最优装载问题
  9. ZeroMQ接口函数之 :zmq_msg_get - 获取消息的性质
  10. InputStreamReader和OutputStreamWriter
  11. 文件系统权限引起IIS站点总跳登录页面
  12. 用存储过程DataFactory准备测试数据
  13. 算法系列15天速成——第五天 五大经典查找【中】
  14. Android学习---解决Android Graphical Layout 界面效果不显示
  15. CMPSS 涡扇发动机模型
  16. 使用js实时统计text、textarea等输入框的字数,并进行字数限制
  17. GPU驱动及CUDA安装流程介绍
  18. 多元线性回归分析spss结果解读_SPSS经典线性回归分析之一——线性回归分析
  19. 命令行查看隐藏文件或隐藏文件夹
  20. Java 文件上传到工程中,上传成功但是目录中没有显示

热门文章

  1. 年轻人不讲武德,竟用Python让马老师表演闪电五连鞭!
  2. 1364 小Y的烦恼
  3. c语言中handle函数,谁能解释一下 HANDLE hConsole = GetStdHandle((STD_OUTPUT_HANDLE))在C语言中是什么意思...
  4. Audyssey MultEQ、Audyssey Dynamic EQ、Audyssey Dynamic Volume使用心得
  5. 多线程编程的精华:探索 Java 中的多种线程开启方式
  6. 常见图形数学英文单词备忘
  7. Oracle gsd服务是什么,RAC节点服务ora.rac2.gsd的offline问题解决方法
  8. 【历史上的今天】3 月 30 日:世界上最早的表情符号;IBM z/OS 问世;微软发布 HoloLens 开发版
  9. 位操作:置1、置0、取反、取值--SetBit ResetBit Reversebit GetBit
  10. python导入文件夹数据有改动_python办公自动化--批量修改文件/文件夹名称