将特定的输入文件提供给mapper和reducer hadoop

时间:2017-01-28 11:19:17

标签: python hadoop

说我有3个输入文件A,B,C。我想要那个

  • 映射器仅从A
  • 获取记录
  • 分区程序从映射器和文件B和C
  • 获取输入
  • reducer从mapper(由分区程序指示)和文件C获取输入。

这可以在Hadoop中完成吗?

P.S。 - 我正在使用Python和Hadoop Streaming

1 个答案:

答案 0 :(得分:0)

唯一可行的方法是文件B和C非常小,以便您可以将它们放入distcache并在所有Job中获取它们。 Hadoop中没有分区作业。分区程序作为地图作业的一部分运行,因此每个映射器都必须读取所有3个文件A,B和C.

同样适用于减速器部件。如果B和C文件非常大,那么您必须检查数据流并将A,B,C组合在单独的作业中。除非您分享有关处理的更多详细信息,否则无法解释如何操作