目录

  • 一、压缩概述
    • 优缺点
    • 原则
  • 二、MR 支持的压缩编码
  • 三、压缩方式选择
    • Gzip压缩
    • Bzip2 压缩
    • Lzo压缩
    • Snappy压缩
    • 压缩位置选择
  • 四、压缩参数配置
  • 五、压缩案例
  • 六、数据清洗ETL

一、压缩概述

优缺点

优点:减少磁盘IO、减少磁盘存储空间;
缺点:增加CPU开销。

原则

  1. 运算密集型的job,少用压缩;
  2. IO密集型的job,多用压缩。

二、MR 支持的压缩编码

  1. 压缩算法对比
  2. 压缩性能比较

三、压缩方式选择

压缩方式选择时重点考虑:压缩/解压缩速度、压缩率(压缩后存储大小)、压缩后是否可以支持切片。

Gzip压缩

优点:压缩率比较高;
缺点:不支持 Split;压缩/解压速度一般;

Bzip2 压缩

优点:压缩率高;支持 Split;
缺点:压缩/解压速度慢。

Lzo压缩

优点:压缩/解压速度比较快;支持split;
缺点:压缩率一般;想支持切片需要额外创建索引。

Snappy压缩

优点:压缩和解压缩速度快;
缺点:不支持 Split;压缩率一般;

压缩位置选择

压缩可以在 MapReduce 作用的任意阶段启用。

四、压缩参数配置

  1. 为了支持多种压缩/解压缩算法,Hadoop 引入了编码/解码器;

  1. 要在 Hadoop 中启用压缩,可以配置如下参数;

五、压缩案例

对于WordCount案例,Mapper/ Reducer不变,只需修改Driver;

Mapper端压缩:

Configuration conf = new Configuration();
// 开启 map 端输出压缩 conf.setBoolean("mapreduce.map.output.compress", true);
// 设置 map 端输出压缩方式conf.setClass("mapreduce.map.output.compress.codec",
BZip2Codec.class,CompressionCodec.class);

Reduce 输出端采用压缩:

FileInputFormat.setInputPaths(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
// 设置 reduce 端输出压缩开启 FileOutputFormat.setCompressOutput(job, true);
// 设置压缩的方式FileOutputFormat.setOutputCompressorClass(job, BZip2Codec.class);
// FileOutputFormat.setOutputCompressorClass(job, GzipCodec.class);
// FileOutputFormat.setOutputCompressorClass(job, DefaultCodec.class);

六、数据清洗ETL

“ETL” 是英文Extract- Transform-Load的缩写,用来描述将数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目前端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序。

Hadoop数据压缩 与 数据清洗ETL相关推荐

  1. Hadoop之Hadoop数据压缩

    Hadoop之Hadoop数据压缩 目录 概述 MR支持的压缩编码 Gzip压缩 Bzip2压缩 Lzo压缩 Snappy压缩 压缩位置选择 压缩参数配置 1. 概述 压缩技术能够有效减少底层存储系统 ...

  2. 大数据培训课程Hadoop数据压缩

    Hadoop数据压缩概述 压宿支术能够有效咸少底层存储系统(HIDFS)读写字节数.压缩提高了网 络带宽和磁盘空间的效率.在运行MR程序时,I/O操作.网络数据传输.Shuffle 和Merge要花大 ...

  3. Hadoop实现数据清洗ETL

    准备 LKh7zAJ4nwo TheReceptionist 653 Entertainment 424 13021 4.34 1305 744 DjdA-5oKYFQ NxTDlnOuybo c-8 ...

  4. Hadoop数据压缩

    小菜鸟的个人博客已经正式上线且对外开放啦- 博客访问地址:小菜鸟的大梦想 欢迎各位同学扫码关注本人公众号 ↓↓↓ 更多优质内容将 首发 公众号 压缩概述 压缩技术能够有效减少底层存储系统(HDFS)读 ...

  5. 大数据培训Hadoop数据压缩之压缩方式选择

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

  6. Hadoop:数据压缩、Yarn、企业优化

    文章目录 一.Hadoop数据压缩 1.1 概述 1.2 压缩策略和原则 1.3 MR支持的压缩编码 1.4 压缩方式选择 1.5 压缩位置选择 1.6 压缩参数配置 1.7 压缩实操案例 二.Yar ...

  7. Hadoop学习教程(MapReduce)(四)

    MapReduce 1.MapReduce概述 1.1.MapReduce定义 1.2.MapReduce优缺点 1.2.1.MapReduce优点 1.2.2.MapReduce缺点 1.3.Map ...

  8. (超详细)大数据Hadoop之MapReduce组件

    一.MapReduce 简介 1.1 MapReduce的概述 在Hadoop生态圈中,MapReduce属于核心,负责进行分布式计算. MapReduce 核心功能是将用户编写的业务逻辑代码和自带默 ...

  9. 大数据技术之Hadoop(MapReduce)

    大数据技术之Hadoop(MapReduce) (作者:大数据研发部) 版本:V1.4 第1章MapReduce入门 map 计算 reduce 规约 1.1 MapReduce定义 Mapreduc ...

最新文章

  1. [JS-JQuery]基础
  2. hdu1863 畅通工程---MST连通
  3. 微信支付8·8无现金日超1亿人次、近70万家门店参与
  4. lc 115. Distinct Subsequences
  5. linux重启ipv6_Linux关闭、开启、配置IPv6
  6. 使用JSON实现分页
  7. Java版通用身份证验证
  8. 网页端哔哩哔哩4倍速播放视频
  9. 好嗨游戏:20款最好玩的运动游戏:足球、篮球、网球等等(上)
  10. 小米 无线 linux 鼠标,便捷好用的小米无线鼠标,据说用完一键退回就离不开了...
  11. 微信小程序如何引入视频插件,解决文娱资质问题(uni-app 同样适用) 解决bindtimeupdate 不生效问题!
  12. 【Windows Server 2019】路由服务的配置和管理
  13. SqlDbx远程链接DB2数据库
  14. 微信语音怎么保存 微信语音导出文件夹教程
  15. MySQL数据库实现主从同步
  16. 常用HTML技术 淘宝店铺装修
  17. visual_studio2012、vs2012下载
  18. IDEA中如何将一个JavaWeb项目打包成war包
  19. makefile文件解释
  20. Cadence allegro 17.4 PCB DRC检查

热门文章

  1. (数据库系统概论|王珊)第十章数据库恢复技术-第三节:故障种类
  2. 6-4-2:STL之list——list的模拟实现
  3. 从零开始学PowerShell(6)获取对象信息
  4. PHP-FPM Fastcgi 未授权访问漏洞(端口9000)
  5. 设计模式:模板方法模式(C++)【喝咖啡还是喝茶】
  6. 线性表:顺序队列算法实现
  7. [转载]android一些、面试题
  8. 查看Oracle实例的EM端口
  9. postgreSQL分页
  10. 谷歌在华遭遇首例关键词官司