AndyTsai 寫:
如果我的mapReduce程式裡面的map要再包一個mapReduce,是否會有問題呢??
假設有兩個mapReduce,mapReduce1,mapReduce2
如果mapReduce1裡面的每個map得input都會再丟到mapReduce2裡面處理,mapReduce2 output出來的東西
就會是mapReduce1裡面map得output,然後再根據key丟到mapReduce1得Reducer
這樣是可行的嗎? 大概要怎麼寫才對呢!?
感謝大大門回答!!
今年的最後一天,也祝各位大大新年快樂,尤其感謝JAZZ大大的回答,真的解決我不少問題,感謝!
若 MapReduce 順序很複雜,個人會建議您採用 MapReduce 的 Workflow 引擎,
例如 Oozie 或 Cascading 把所需的 Mapper 跟 Reducer 串接在一起,把多個 Job 組成 Workflow。
http://oozie.apache.org/http://www.cascading.org/如果是多個不同的 mapper 邏輯跟多個不同的 Reducer 邏輯要組成一個 Job,
則建議採用 ChainMapper 跟 ChainReducer
https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/lib/ChainMapper.htmlhttps://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/lib/ChainReducer.html您陳述的問題情境,就我的解讀比較接近 ChainMapper。
- Jazz