我的一个映射器生成了一些分布在文件中的日志,如 part-0、part-1、part-2 等。现在每个文件都有一些查询和该查询的一些关联数据:
part-0
q score
1 ben 10 4.01
horse shoe 5.96
...
part-1
1 ben 10 3.23
horse shoe 2.98
....
and so on for part-2,3 etc.
现在相同的查询 q 即上面的“1 ben 10”驻留在第 1 部分、第 2 部分等中。
现在我必须编写一个 map reduce 阶段,我可以在其中收集相同的查询并汇总(加起来)他们的分数。
我的 mapper 函数可以是一个身份,在 reduce 中我将完成这项任务。
输出将是:
q aggScore
1 ben 10 7.24
horse shoe 8.96
...
似乎是一项简单的任务,但我无法想到如何继续进行此操作(阅读很多但实际上无法继续)。我可以考虑通用算法问题,首先我将收集常见查询,然后将它们的分数相加。
任何有关pythonic解决方案或算法(map reduce)提示的帮助将不胜感激。