在字数统计程序中使用 2 个 reducer 的输出

Output of using 2 reducers in a word count program

假设具有键“the”、“sound”、“is”的键值对由reducer 1处理,键值对具有键“it”、“right”、“sounds” ” 由 reducer 2 处理。

两个减速器的输出是什么?

每个reducer的输出文件会先排序然后合并再排序吗?

当 reducer 收到它们时,它是否已经按字母顺序排序,以便 reducer 1 收到“is”、“it”、“right”,reducer 2 收到“the”、“sound”、“sounds”?

回答您的问题:

  1. reducer 的输出将是其出现的单词和计数。
  2. 在不同键上工作的减速器的输出永远不会合并。 mapreduce 中没有这样的阶段。
  3. mapper的输出经过排序后送入reducer;但是不同的 reducer 随机发出其输出,并且所有 reducer 的输出都不会再次排序。 mapreduce 中没有这样的阶段。

即使 reducer 按排序顺序获取键,也可以将每个 reducer 运行 视为一个单独的 JVM 和一个单独的进程。他们输出的数据没有 "knowing" 表示有更多的 reducer 运行.