MapReduce 问题请教

搞过MapReduce的人都知道这个wordcount例子:
那么问题来了:
下面reduce方法中的参数x和y各代表什么呢?

flow.New().TextFile(
        "/etc/passwd", 2,
    ).Filter(func(line string) bool {
        println("filter:", line)
        return !strings.HasPrefix(line, "#")
    }).Map(func(line string, ch chan string) {
        for _, token := range strings.Split(line, ":") {
            ch <- token
        }
    }).Map(func(key string) int {
        println("map:", key)
        return 1
    }).Reduce(func(x int, y int) int {
       //这里的x和y各是什么意思?
        println("reduce:", x, y)
        return x + y
    }).Map(func(x int) {
        println("count:", x)
    }).Run()

共 3 个回复


stevewang

这里的x+y只是模拟reduce而已,xy都是并发计算获得的结果,在reduce这里汇总。

# 0

chris

@stevewang

x和y对应上一步的什么结果呢?

x和y分别是什么意思?

# 1

niclelin

如果联系你,你们公司还招聘go语言吗?

# 2