当前位置: 首页 > news >正文

Hadoop所支持的几种压缩格式

Gzip压缩

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

缺点:不支持split。

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

lzo压缩

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

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

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

Snappy压缩

优点:高速压缩速度和合理的压缩率;支持hadoop native库。

缺点:不支持split;压缩率比gzip要低;hadoop本身不支持,需要安装;linux系统下没有对应的命令。

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

Bzip2压缩

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

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

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



相关文章:

  • mysql
  • Spring 依赖注入
  • 重定向
  • 软件测试-Svn服务器搭建全过程-基于Centos6.7-64bit
  • 陈新宇:CKafka在人脸识别PAAS中的应用
  • 开辟sys节点用户层直接操作物理地址(比/dev/mem方便)
  • centos 6.5 安装mysql
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • SoftMax多分类器原理及代码理解
  • BugkuCTF web基础$_GET
  • Android逆向之旅---静态方式分析破解视频编辑应用「Vue」水印问题
  • 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用
  • 2018 年第一季度报告:JavaScript 仍是最热门语言
  • Windows 7 用户已开始收到停止支持的提醒
  • 将用Axis2编写的Web Service项目打包成aar包
  • [iOS]Core Data浅析一 -- 启用Core Data
  • Asm.js的简单介绍
  • download使用浅析
  • es6(二):字符串的扩展
  • input的行数自动增减
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JDK 6和JDK 7中的substring()方法
  • mysql 5.6 原生Online DDL解析
  • python 学习笔记 - Queue Pipes,进程间通讯
  • rabbitmq延迟消息示例
  • springboot_database项目介绍
  • XForms - 更强大的Form
  • Yii源码解读-服务定位器(Service Locator)
  • 闭包--闭包之tab栏切换(四)
  • 多线程 start 和 run 方法到底有什么区别?
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 讲清楚之javascript作用域
  • 配置 PM2 实现代码自动发布
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • (1)STL算法之遍历容器
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (南京观海微电子)——I3C协议介绍
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)原始图像数据和PDF中的图像数据
  • ./configure,make,make install的作用
  • ./和../以及/和~之间的区别
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .bat文件调用java类的main方法
  • .NET 表达式计算:Expression Evaluator
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • .sh 的运行
  • ?.的用法