【问题标题】:How to divide map-reduce tasks?如何划分 map-reduce 任务?
【发布时间】:2017-02-13 12:54:56
【问题描述】:

我有一个包含 200 列的表,其中我需要列表中提到的大约 50 列, 以及根据列“时间戳”的过去 24 个月的行。

我对 mapper 下的内容和 reducer 下的内容感到困惑?

由于它只是转换,它是否只有映射器阶段,或者持续 24 个月的行过滤将归于减速器?我不确定这是否完全利用 map-reduce 是做什么用的。

我正在使用带有 hadoop 流的 python。

【问题讨论】:

    标签: python hadoop mapreduce hadoop-streaming


    【解决方案1】:

    因此,您有一个包含 200 列(例如 T)的表,要从 T 中挑选的单独条目列表(例如 L)以及过去 24 小时(来自 T 中的时间戳)。

    MapReduce,mapper 确实按顺序从 T 给出条目。在您的映射器进入 map() 之前,即在 setup() 中放置要从 L 读取的代码块并使其方便(使用可行的数据结构来保存数据列表)。现在,您的代码应该包含两个检查/条件 1) 如果 T 中的条目包含/匹配 L。如果是,则检查 2) 数据是否在 24 小时范围内。

    完成。你的输出是你所期望的。不,这里需要 reducer,至少要做到这一点。

    快乐的 Mapreducing。

    【讨论】:

      猜你喜欢
      • 2011-08-06
      • 1970-01-01
      • 2011-10-16
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 2017-12-03
      • 1970-01-01
      • 2012-03-04
      相关资源
      最近更新 更多