【问题标题】:Hadoop passing variables to mapper and reducerHadoop将变量传递给mapper和reducer
【发布时间】:2014-01-31 14:01:07
【问题描述】:

我是 Hadoop 的初学者。我已经建立了字数统计,并且我相当确定我了解基础知识,但我无法将其扩展到实际问题。我的(修改后的)代码如下:

for (Item i : set) {
    for (Item j : set) {
        Score s = score(i, j);
        renderer.render(s);
    }
}

我想使用 Hadoop 来分发它。我可以编写 Mapper 和 Reducer,但我不知道如何将集合传递给 Mapper 并将渲染器传递给 Reducer(或者如果这甚至是处理此问题的惯用方式)。我也觉得我需要编写自己的 Writable 来处理在 Mapper 和 Reducer 之间传递 (i, j) 对,但我不知道最好的方法。任何帮助将不胜感激。

【问题讨论】:

    标签: java hadoop


    【解决方案1】:

    您所做的本质上是set 与自身的笛卡尔积。 您可能需要实现自定义输入格式。

    这是一个通用笛卡尔积作业的示例:https://github.com/adamjshook/mapreducepatterns/blob/master/MRDP/src/main/java/mrdp/ch5/CartesianProduct.java

    您可以在第 67-77 行看到您在上面对输入路径执行的相同逻辑:https://github.com/adamjshook/mapreducepatterns/blob/master/MRDP/src/main/java/mrdp/ch5/CartesianProduct.java#L67-L77

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      相关资源
      最近更新 更多