【问题标题】:Zip the output files from MapReduce without merging them从 MapReduce 压缩输出文件而不合并它们
【发布时间】:2015-12-11 09:17:22
【问题描述】:

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

【问题讨论】:

    标签: hadoop mapreduce zip multipleoutputs


    【解决方案1】:

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

    您可以在 SequenceFile.CompressionType 中使用三种变体

    BLOCK :将记录序列压缩成块。

    NONE:不压缩记录。

    RECORD:仅压缩值,分别单独压缩。

    代码中的关键更改。

    Path outDir = new Path(WORK_DIR_PREFIX + "/out/" + jobName);
    
    job.setOutputFormatClass(SequenceFileOutputFormat.class);
    
    SequenceFileOutputFormat.setOutputPath(job, outDir);
    
    SequenceFileOutputFormat.setOutputCompressionType(job, CompressionType.BLOCK);
    

    看看工作 example 对 SequenceFileOutputFormat 的使用。

    【讨论】:

      猜你喜欢
      • 2010-09-21
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 2016-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多