Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 从MapReduce压缩输出文件,而不合并它们_Hadoop_Mapreduce_Zip_Multipleoutputs - Fatal编程技术网

Hadoop 从MapReduce压缩输出文件,而不合并它们

Hadoop 从MapReduce压缩输出文件,而不合并它们,hadoop,mapreduce,zip,multipleoutputs,Hadoop,Mapreduce,Zip,Multipleoutputs,我有一个MR作业,它使用多路输出格式,输出500个文件。我想压缩这些文件而不合并它们 您必须使用SequenceFileOutputFormat:以二进制(原始)格式将键、值写入SequenceFile的OutputFormat SequenceFile.CompressionType中可以有三种变体 块:将记录序列压缩到块中 无:不压缩记录 记录:仅压缩值,每个值单独压缩 代码中的关键更改 Path outDir = new Path(WORK_DIR_PREFIX + "/out/" + j

我有一个MR作业,它使用多路输出格式,输出500个文件。我想压缩这些文件而不合并它们

您必须使用
SequenceFileOutputFormat
:以二进制(原始)格式将键、值写入SequenceFile的OutputFormat

SequenceFile.CompressionType中可以有三种变体

:将记录序列压缩到块中

:不压缩记录

记录:仅压缩值,每个值单独压缩

代码中的关键更改

Path outDir = new Path(WORK_DIR_PREFIX + "/out/" + jobName);

job.setOutputFormatClass(SequenceFileOutputFormat.class);

SequenceFileOutputFormat.setOutputPath(job, outDir);

SequenceFileOutputFormat.setOutputCompressionType(job, CompressionType.BLOCK);
看看SequenceFileOutputFormat的使用情况