Hadoop MR:更好的压缩输入文件或原始文件?

Bob*_*Bob 4 compression hadoop mapreduce

从问题中可以得出,我想知道什么时候有压缩格式的输入文件(如gzip)以及何时以非压缩格式输入文件是有意义的.

压缩文件的开销是多少?读文件时速度慢得多吗?是否对大输入文件进行了基准测试?

谢谢!

pyf*_*unc 6

除非您正在进行开发,并且需要经常将数据从HDFS读取到本地文件系统以进行处理,否则使用压缩格式的输入文件最有意义.

压缩格式提供了显着的优势.除非您另外设置,否则数据已在Hadoop集群中复制.复制数据是良好的冗余,但消耗更多空间.如果所有数据的复制系数均为3,那么您将消耗3倍于存储数据所需的容量.

对日志数据等文本数据进行压缩非常有效,因为它可以产生高压缩比.这也是您在Hadoop集群中经常发现的数据类型.

我没有基准测试,但我没有看到任何一个体面大小的集群和我们拥有的数据的重大损失.

但是,暂时选择LZO而不是gzip.

请参阅:LZO压缩及其对gzip的重要性

Gzip比LZO压缩得更好.LZO在压缩和解压缩方面更快.有可能拆分Lzo文件,可拆分Gzip不可用,但我已经看到了相同的Jira任务.(也适用于bzip2)