hadoop平台gz、lzo压缩对比

2024-09-06 13:32
文章标签 平台 压缩 hadoop 对比 gz lzo

本文主要是介绍hadoop平台gz、lzo压缩对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

压缩比:
rcfile:             1.04
rcfile+snappy:      0.27
rcfile+lzo:         0.25
sequencefile:       0.83
sequencefile+snappy:0.84
sequencefile+lzo:   0.79

单列读取速度:
select count(distinct product_no)
rcfile:             22秒
rcfile+snappy:      16秒
rcfile+lzo:         17秒
sequencefile:       26秒
sequencefile+snappy:25秒
sequencefile+lzo:   22秒

多列读取速度:
select * where 1=1 limit 10
rcfile:             11秒
rcfile+snappy:      9秒
rcfile+lzo:         9秒
sequencefile:       9秒
sequencefile+snappy:9秒
sequencefile+lzo:   9秒

 

可以看到使用rcfile+lzo压缩比最高

使用rcfile+snappy单列读取最快

使用rcfile不压缩,多列读取最慢

 

1、hadoop可以直接读取gz、lzo等压缩格式的数据

2、hadoop按照数据流的方式一边解压缩一边读取数据处理

3、目前HDFS上的存储格式有两种,可并行读取格式,不可并行读取格式

可并行读取格式: rcfile,sequenceFile,textFile(不压缩,或bZip2,lzop压缩)

不可并行读取格式: textFile(lzo压缩, GZ压缩, snappy压缩)

对于不可并行读取的格式, 无论文件分为多少个block存储,都只能用一个map处理,性能较差 

4、如果hadoop文件存储格式为sequenceFile或是rcfile,则通过gz、lzo等方式压缩时会是内部压缩,此时处理压缩数据时不会按照块分配map而是会分配多个map并向处理,因此效率比txtfile格式文件压缩后效率要高很多。sequenceFile和rcfile格式的文件压缩后从文件扩展名无法看出是压缩文件,即文件扩展名不会出现.gz或是.lzo

5、如果采用lzop(基于lzo压缩+索引的压缩算法)压缩的话数据可以实现多个map同时读取一个文件的数据

 

这篇关于hadoop平台gz、lzo压缩对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142136

相关文章

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

使用zip4j实现Java中的ZIP文件加密压缩的操作方法

《使用zip4j实现Java中的ZIP文件加密压缩的操作方法》本文介绍如何通过Maven集成zip4j1.3.2库创建带密码保护的ZIP文件,涵盖依赖配置、代码示例及加密原理,确保数据安全性,感兴趣的... 目录1. zip4j库介绍和版本1.1 zip4j库概述1.2 zip4j的版本演变1.3 zip4

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细