【问题标题】:multiple file output in hadoop mapreduce streaminghadoop mapreduce流中的多个文件输出
【发布时间】:2013-11-14 10:13:12
【问题描述】:

我正在使用 hadoop map 和 reduce 程序。我需要读取多个文件并将其输出到多个文件中

例子

Input \  one.txt 
         two.txt 
         three.txt 

Output \ 
         one_out.txt
         two_out.txt

我需要得到这样的东西。我怎样才能做到这一点。

请帮帮我

谢谢

【问题讨论】:

  • 您无法控制 MR 生成的文件的名称。但是如果你使用文件输入格式,每个文件都会被传递给不同的映射器,最终创建单独的输出文件,除非文件很大。
  • @AnkurShanbhag - 好的。命名无关紧要,我需要为每个 i/p 文件有一个单独的 o/p 文件

标签: java python hadoop mapreduce


【解决方案1】:
  • 如果文件很小,您可以简单地使用 FileInputFormat,hadoop 会在内部为每个文件生成一个单独的映射器任务,最终生成输出文件相应的输入文件(如果不涉及减速器)。
  • 如果文件很大,需要编写自定义输入格式,并指定isSplittable(false)。它将确保 hadoop 不会跨映射器拆分您的文件,并且不会为每个输入文件生成多个输出文件

【讨论】:

    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多