Hadoop中的setCompressOutput

Hadoop中的setCompressOutput,hadoop,hdfs,Hadoop,Hdfs,什么时候应该使用和不使用 FileOutputFormat.setCompressOutput(conf,true) 我听说它压缩映射器输出。是否有可能压缩减速器侧输出 (如果我的假设是错误的,请澄清我,如何压缩映射器输出和还原器输出!)您可以使用mapred.output.compress控制还原器输出的压缩,以及使用mapred.compress.map.output控制映射器输出的压缩。这些配置键可以在站点范围的配置文件、作业设置中设置(设置为true或false),或者在运行作业时作为-

什么时候应该使用和不使用
FileOutputFormat.setCompressOutput(conf,true)

我听说它压缩映射器输出。是否有可能压缩减速器侧输出


(如果我的假设是错误的,请澄清我,如何压缩映射器输出和还原器输出!)

您可以使用
mapred.output.compress
控制还原器输出的压缩,以及使用
mapred.compress.map.output
控制映射器输出的压缩。这些配置键可以在站点范围的配置文件、作业设置中设置(设置为
true
false
),或者在运行作业时作为
-D
选项传递给Hadoop

压缩贴图输出通常是一个好主意。当输出不是最终结果时,例如,当我在前一个作业的输出上运行另一个作业时,我也会压缩减少输出

压缩通常有助于更快地完成作业(即使它需要额外的压缩/解压缩处理),因为它可以大大减少I/O量

你也可以选择压缩编解码器。我们使用LZO,它不是Hadoop附带的,但可以在这里找到:


LZO以最小的CPU开销进行了很好的压缩。Bzip2压缩效果非常好,但开销更大。Gzip压缩效果较差,开销适中。(这些都是概括。)我认为LZO具有最佳的特性平衡。

您可以使用
mapred.output.compress
控制还原器输出的压缩,并使用
mapred.compress.map.output
控制映射器输出的压缩。这些配置键可以在站点范围的配置文件、作业设置中设置(设置为
true
false
),或者在运行作业时作为
-D
选项传递给Hadoop

压缩贴图输出通常是一个好主意。当输出不是最终结果时,例如,当我在前一个作业的输出上运行另一个作业时,我也会压缩减少输出

压缩通常有助于更快地完成作业(即使它需要额外的压缩/解压缩处理),因为它可以大大减少I/O量

你也可以选择压缩编解码器。我们使用LZO,它不是Hadoop附带的,但可以在这里找到:


LZO以最小的CPU开销进行了很好的压缩。Bzip2压缩效果非常好,但开销更大。Gzip压缩效果较差,开销适中。(这些都是概括。)我认为LZO具有最佳的特性平衡。

顺便说一句,这是假设Hadoop版本为0.20。顺便说一句,这是假设Hadoop版本为0.20。