Hadoop支持的压缩编码

简介: 【6月更文挑战第9天】

image.png
Hadoop支持多种压缩编码,每种编码都有其独特的优缺点和适用场景。以下是Hadoop常用的一些压缩编码及其简要描述:

  1. GZIP

    • 优点:压缩率比较高(大于30%),且压缩/解压速度也相对较快。Hadoop本身支持GZIP,因此处理GZIP格式的文件与直接处理文本类似。大部分Linux系统都自带gzip命令,使用方便^[1][2][3][4]^。
    • 缺点:不支持split^[1][2][3][4]^。
    • 应用场景:当每个文件压缩后在130M以内(即一个块大小内)时,可以考虑使用GZIP压缩格式。例如,可以将一天或一个小时的日志压缩成一个GZIP文件,然后运行MapReduce程序时通过多个GZIP文件达到并发^[1][3][4]^。
  2. BZIP2

    • 优点:压缩比高,支持split,支持多文件。Hadoop内置支持BZIP2^[1][2][4]^。
    • 缺点:压缩/解压速度相对较慢^[1][2][4]^。
    • 应用场景:适用于对处理速度要求不高的场景,如Map输出结果^[2][3]^。
  3. LZO

    • 优点:压缩/解压速度比较快,合理的压缩率(< 50%),支持split(但需要建立索引,且文件修改后需要重新建索引)。Hadoop本身不支持LZO,但可以通过安装相应的库来使用。在Linux系统下可以安装lzop命令,使用方便^[1][2][4]^。
    • 缺点:压缩率比GZIP要低一些。Hadoop本身不支持,需要安装;在应用中对LZO格式的文件需要做一些特殊处理^[1][2][4]^。
    • 应用场景:适用于经常访问的热数据,尤其是当文件大小较大时,LZO的优点更为明显^[1][2][4]^。
  4. LZ4

    • 优点:压缩比一般,不支持split,但压缩/解压速度快,支持Hadoop Native库。Hadoop本身不支持LZ4,需要安装^[1][2]^。
    • 缺点:不支持split^[1][2]^。
    • 应用场景:适用于Map中间结果的压缩^[2]^。
  5. Snappy

    • 优点:高速压缩速度和合理的压缩率,支持Hadoop Native库^[1][2][4]^。
    • 缺点:不支持split;压缩率比GZIP要低;Hadoop本身不支持,需要安装;Linux系统下没有对应的命令^[1][2][4]^。
    • 应用场景:当MapReduce作业的map输出的数据比较大时,可以作为map到reduce的中间数据的压缩格式;或者作为一个MapReduce作业的输出和另外一个MapReduce作业的输入^[2][4]^。
  6. Zstd

    • 优点:压缩比高,与GZIP相当;不支持split,但压缩/解压速度快,支持Hadoop Native库。Hadoop本身不支持Zstd,需要安装^[2]^。
    • 缺点:不支持split^[2]^。
    • 应用场景:适用于Map中间结果的压缩^[2]^。

在选择Hadoop的压缩编码时,需要根据具体的应用场景和需求进行权衡。例如,对于运算密集型的作业,可能不需要过多使用压缩;而对于IO密集型的作业,则可能需要更多地使用压缩来优化性能^[3]^。
参考:
1.
hadoop常见压缩格式 hadoop常用压缩算法对比_mob6454...
2.
Hadoop 常用的压缩算法有哪些,有什么区别dubbo支持哪些压缩...
3.
Hadoop数据压缩总结
压缩格式支持mr切分-CSDN博客
4.
hadoop-2.7.3源码编译后支持的4种压缩格式 - ZC_Surpass

目录
相关文章
|
5月前
|
存储 分布式计算 算法
Hadoop性能优化数据压缩和编码
【6月更文挑战第8天】
68 6
|
5月前
|
存储 分布式计算 算法
|
6月前
|
存储 分布式计算 Hadoop
hadoop中压缩及存储常见格式图解
hadoop中压缩及存储常见格式图解
75 0
|
存储 分布式计算 算法
Hadoop压缩机制及实操
Hadoop压缩机制及实操
220 0
Hadoop压缩机制及实操
|
分布式计算 算法 Hadoop
hadoop当中支持的压缩算法
hadoop当中支持的压缩算法
115 0
|
分布式计算 Hadoop
Hadoop学习:MapReduce实现文件的解压缩
Hadoop学习:MapReduce实现文件的解压缩
135 0
|
SQL 分布式计算 算法
hadoop之数据压缩(12)
hadoop之数据压缩(12)
142 0
hadoop之数据压缩(12)
|
分布式计算 Hadoop
Hadoop使用lzo压缩格式
在hadoop中搭建lzo环境: wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz   export CFLAGS=-m64   .
887 0
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
157 6
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
65 2

相关实验场景

更多