[問題] 在Hadoop環境下,程式設計_分配問題
我有三台虛擬機,其中我的程式的演算法需要跑四次的map reduce,
我想問假設我有三個文件,如何分配給三台虛擬機,
讓一台機器只處理一份文件。
在程式碼當中我有設定setNumReduceTask(3),
需要三個reducer,
第一個reducer處理第一份文件,
第二個reducer處理第二份文件,
以此類推,分別能夠讓每台對映執行一個文件!
但是會出現問題,就是當這樣設定時,
會發生第一份文件會分給三臺機器處理,
第二個文件也會分給三臺機器處理,
第三個文件也會分給三個機器處理,
出來的結果會有問題,
所以想請問當中的key值要怎麼設,因此在程式方面要如何寫才好?
或者還是有其他方法能夠讓一台機器只處理一份文件
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.41.64
※ 文章網址: https://www.ptt.cc/bbs/java/M.1461115954.A.731.html
推
04/20 10:06, , 1F
04/20 10:06, 1F
→
04/20 10:08, , 2F
04/20 10:08, 2F
→
04/20 10:09, , 3F
04/20 10:09, 3F
ok,目前我有用別的方法好像可以了,也感謝你!
※ 編輯: jimkukky (118.167.41.64), 04/20/2016 19:45:01
推
04/21 16:14, , 4F
04/21 16:14, 4F
→
04/21 16:17, , 5F
04/21 16:17, 5F
→
04/21 16:21, , 6F
04/21 16:21, 6F
→
04/21 16:21, , 7F
04/21 16:21, 7F
嗯我後來有去看partitioner,大概了解怎麼用了感謝!
※ 編輯: jimkukky (36.229.28.124), 04/22/2016 15:41:10
java 近期熱門文章
PTT數位生活區 即時熱門文章