我現在有交易有以下的列的列表:在1計數多個按鍵的MapReduce
TradeID, SellerID, FishType, Price, Qty
我希望得到
- 每個SellerID
- 的的計數數量每個魚類型號
目前,我已經寫輸出< FishType,數量>映射器以便總結數量每個FishType。但是,要獲得SellerID的計數,是否必須編寫單獨的mapreduce任務?還是有一種方法讓我在同一個mapreduce任務中這樣做?
我已經考慮過使用計數器,但是在編碼的時候,記錄中的sellerID在我看來是未知的,並且可能有太多無法跟蹤使用計數器。在我看來,這也是對Counter功能的濫用。
請指教。
我一直在想你的「前綴」解決方案。雖然我不明白爲什麼這不起作用,但我擔心它是否實際上破壞了MapReduce框架的整體目的。由於該框架將不能對中間密鑰進行正確的分組和排序,即,這些密鑰基本上不是由FishType或SellerID排序的,所以這些密鑰將不會連續地饋送到縮減器中,因此導致分離的輸出。 – Deyang
「F:Salmon」所有的東西都會發送到同一個減速器,並且會一起分析。這是你脫節的意思嗎?你在這裏所做的只是重載鍵空間來一次執行兩個任務。 –
啊,你是對的。仍然試圖將我的頭圍繞整個mapreduce框架。謝謝。 – Deyang