我的一個mapper會生成一些分佈在文件中的日誌,如part-0,part-1,part-2等。現在,每個日誌都有一些查詢和一些關聯的數據:Map Reduce針對常見查詢聚合的簡單分數
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本10」上方駐留在部分1,部分2等
現在我必須寫一個地圖減少相位其中我可以收集相同查詢和彙總(加起來)他們的分數。
我的映射器函數可以是一個身份,並在減少我將完成此任務。
輸出將是:
q aggScore
1 ben 10 7.24
horse shoe 8.96
...
似乎是一個簡單的任務,但我不能想到的,我怎麼可以這樣進行(閱讀了很多,但不是真的能夠進行)。我可以考慮通用算法問題,其中首先我將收集常見查詢並將其分數相加。
任何幫助pythonic解決方案或算法(地圖減少)的一些提示將非常感激。
[你嘗試過什麼?](http://whathaveyoutried.com)什麼方法是用來從文件讀取,存儲數據,操作它,然後將其顯示給用戶? – 2013-02-25 08:07:56
我正在使用Hadoop Streaming。輸入來自標準輸入和標準輸出。 – Dominix 2013-02-25 08:10:11