4

我必须使用 Snappy 来压缩 map o/p 和 map-reduce o/p。此外,这应该是可拆分的。

正如我在网上学习的那样,要让 Snappy 编写可拆分的 o/p,我们必须以类似 Container 的格式使用它。

你能建议如何去做吗?我尝试在网上找到一些示例,但找不到一个。我正在使用 Hadoop v0.20.203。

谢谢。皮尤什

4

2 回答 2

5

用于输出

conf.setOutputFormat(SequenceFileOutputFormat.class); SequenceFileOutputFormat.setOutputCompressionType(conf, CompressionType.BLOCK); SequenceFileOutputFormat.setCompressOutput(conf, true); conf.set("mapred.output.compression.codec","org.apache.hadoop.io.compress.SnappyCodec");

用于地图输出

Configuration conf = new Configuration(); conf.setBoolean("mapred.compress.map.output", true); conf.set("mapred.map.output.compression.codec","org.apache.hadoop.io.compress.SnappyCodec");

于 2012-04-25T05:10:20.207 回答
1

在为作业安装的新 API OutputFormat 中,而不是为配置安装。然后,第一部分将是:

Job job = new Job(conf);
...
SequenceFileOutputFormat.setOutputCompressionType(job, CompressionType.BLOCK);
SequenceFileOutputFormat.setCompressOutput(job, true);

conf.set("mapred.output.compression.codec","org.apache.hadoop.io.compress.SnappyCodec");
于 2015-03-03T12:18:34.177 回答