Java Hadoop:如何通过当代API(2.7+;)实现中间数据的压缩?

Java Hadoop:如何通过当代API(2.7+;)实现中间数据的压缩?,java,hadoop,compression,cloud,Java,Hadoop,Compression,Cloud,我发现了大量关于如何使用不推荐的API实现中间数据压缩的建议,但我没有提到任何最新的建议。我已经浏览了一下API,但还没有发现任何明显的等价物,尽管我仍在加快速度,所以很明显,在游戏中也缺乏熟悉 下面是我遇到的一个例子: JobConf conf = new JobConf(new Configuration(), MyJob.class); conf.set("mapreduce.compress.map.output", "true"); conf.set("mapreduce.map.ou

我发现了大量关于如何使用不推荐的API实现中间数据压缩的建议,但我没有提到任何最新的建议。我已经浏览了一下API,但还没有发现任何明显的等价物,尽管我仍在加快速度,所以很明显,在游戏中也缺乏熟悉

下面是我遇到的一个例子:

JobConf conf = new JobConf(new Configuration(), MyJob.class);
conf.set("mapreduce.compress.map.output", "true");
conf.set("mapreduce.map.output.compression.codec", 
         "org.apache.hadoop.io.compress.GzipCodec");
如果不使用压缩,所涉及的数据集足够大,可以将hdfs节点推入安全模式,因此依赖用户提供cli参数会带来不可接受的风险(可用存储空间几乎没有应有的那么多,但这是我无法控制的)。我需要一个纯粹的编码解决方案。如何在2.7+中启用压缩和设置编解码器


请提供一个简单的代码示例或API相关部分的概要。提前谢谢

如果你能分享到目前为止你所做的测试,那就太好了;这是此群集上的已知问题。我试图在测试时先发制人地避免关闭集群。查看您正在查找哪些不推荐的属性可能会很有用,然后有人可能知道其他选择。说到压缩,你可以指像Snappy&LZO?这样的例子。是的,Snappy,LZO,我仍然需要研究是什么为开销提供了最佳的压缩比。看起来我需要使用配置类。一旦我确定它有效,我会发布一个解决方案。还值得注意的是,我发现的许多示例都没有显示声明'conf',所以据我所知,除了一些奇怪的情况外,这一直是一种做法。