【发布时间】:2013-02-25 08:04:17
【问题描述】:
我的一个映射器生成了一些分布在文件中的日志,例如 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解决方案或算法(地图减少)提示的帮助将不胜感激。
【问题讨论】:
-
What have you tried?你使用什么方法从文件中读取、存储数据、操作数据,然后显示给用户?
-
我正在使用 Hadoop 流。输入来自标准输入,然后进入标准输出。
标签: python algorithm mapreduce