【发布时间】:2014-01-10 09:13:05
【问题描述】:
【问题讨论】:
-
你不会的。你可以在 reducer 中这样做。
-
Brian Roach 感谢您的回复:那么 mapper 是做什么的呢?
【问题讨论】:
这对于一个 SO 问题来说有点宽泛,但我会咬一口。
您的映射器用于将值映射到键。假设您的 CSV 有 4 列数值:
42、71、45、22
您将一个键映射到每个值;实际上,CSV 中的标题是什么样的。假设第 4 列代表“小部件数量”。您将“number_of_widgets”映射为映射器中第 4 列值的键。
reducer 将获取给定键的所有值。 这是你计算出你的最小值/最大值的地方。您只需遍历键的所有值并跟踪最小值和最大值。
【讨论】:
cleanup() 以发出最小值/最大值(在新 API 中;在旧 API 中甚至更丑)
Mapper 应该转置文件 - 对于读取的每一行,发出作为列号的键和作为列的值的值。
减速器应该最小/最大。对于每个输入键,发出找到的最小值和最大值。
【讨论】: