作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在Hadoop程序中,我尝试对结果进行压缩,我写了如下代码:
FileOutputFormat.setCompressOutput(job, true);
FileOutputFormat.setOutputCompressorClass(job, GzipCodec.class);
结果被压缩了,当我删除第一行时:
FileOutputFormat.setCompressOutput(job, true);
再次执行程序,结果还是一样,就是上面的代码
FileOutputFormat.setCompressOutput(job, true);
可选的?该代码的作用是什么?
最佳答案
请参阅FileOutPutFormat.java中的以下方法它在内部调用您已删除的方法调用。
i.e setCompressOutput(conf, true);
这意味着您正在尝试应用 Gzip 编解码器类,然后显然它是指向应压缩输出的代码的指针。不是吗?
/**
* Set whether the output of the job is compressed.
* @param conf the {@link JobConf} to modify
* @param compress should the output of the job be compressed?
*/
public static void setCompressOutput(JobConf conf, boolean compress) {
conf.setBoolean("mapred.output.compress", compress);
}
/**
* Set the {@link CompressionCodec} to be used to compress job outputs.
* @param conf the {@link JobConf} to modify
* @param codecClass the {@link CompressionCodec} to be used to
* compress the job outputs
*/
public static void
setOutputCompressorClass(JobConf conf,
Class<? extends CompressionCodec> codecClass) {
setCompressOutput(conf, true);
conf.setClass("mapred.output.compression.codec", codecClass,
CompressionCodec.class);
}
关于hadoop - 是 FileOutputFormat.setCompressOutput(job, true);选修的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37474967/
我正在尝试使用 MultipleOutputs 编写多个输出文件。然而,我希望我的 FileOutputFormat 具有两种不同的格式,即不同文件的 Text 和 SequenceFileForma
在Hadoop程序中,我尝试对结果进行压缩,我写了如下代码: FileOutputFormat.setCompressOutput(job, true); FileOutputFormat.setOu
我是一名优秀的程序员,十分优秀!