Taiwan Hadoop Forum http://forum.hadoop.tw/ |
|
關於job.setNumReduceTask 程式設計 分配問題 http://forum.hadoop.tw/viewtopic.php?f=7&t=38316 |
第 1 頁 (共 1 頁) |
發表人: | poolikujm123 [ 2016-04-18, 14:36 ] |
文章主題 : | 關於job.setNumReduceTask 程式設計 分配問題 |
我有三台虛擬機, 其中我的程式的演算法需要跑四次的map reduce, 我想問假設我有三個文件,如何分配給三台虛擬機,第一台執行第一個文件,第二台執行第二個文件,以此類推,分別能夠讓每台對映執行一個文件! 當中的key值要怎麼設才好,在程式方面要如何寫才好 我有嘗試在演算法的四次mapreduce分別設job.setNumReduceTasks(3),但是輸出結果會出現資料累積重覆的情形 |
發表人: | jazz [ 2016-04-19, 00:09 ] |
文章主題 : | Re: 關於job.setNumReduceTask 程式設計 分配問題 |
poolikujm123 寫: 我有三台虛擬機, 其中我的程式的演算法需要跑四次的map reduce, 我想問假設我有三個文件,如何分配給三台虛擬機,第一台執行第一個文件,第二台執行第二個文件,以此類推,分別能夠讓每台對映執行一個文件! 當中的key值要怎麼設才好,在程式方面要如何寫才好 我有嘗試在演算法的四次mapreduce分別設job.setNumReduceTasks(3),但是輸出結果會出現資料累積重覆的情形 不太懂 setNumReduceTask(3) 的用意,如果四次 mapreduce 都設為 3 個 reducer 意思變成 3 個文件 -> 第一次 mapreduce -> 產生 3 個輸出文件 -> 第二次 mapreduce -> 產生 3 個輸出文件 -> 依此類推 理論上不會出現資料重複的問題(因為 shuffle by key, 所以每個 reducer 拿到的 key 是不同的, 除非又用到特殊的 Partitioner) 由於 Hadoop 預設是根據 Block 所在位置進行工作分配,加上 DataNode 有 Short-circuit 機制。 如果真的要作到這種機制,要作以下調整才能遵循 Hadoop MapReduce 與 HDFS 原理,又可以達成分配的目的。 以下是用 MapReduce v1 (JobTracker + TaskTracker) 的原理,若是用 YARN 變因就又更多了。 1. 將 mapper 預設 slot 個數改為 1 -- 修改於 mapred-site.xml 代碼: <property> <name>mapred.tasktracker.map.tasks.maximum</name> <value>1</value> <property> 2. 修改副本個數 -- 設為 1 或 2 -- 修改於 hdfs-site.xml 代碼: <property> <name>dfs.replication</name> <value>1</value> </property> 3. 於第一台 VM 執行 hadoop fs -put 輸入1 輸入1 於第二台 VM 執行 hadoop fs -put 輸入2 輸入2 於第三台 VM 執行 hadoop fs -put 輸入3 輸入3 這樣會強迫三台 VM 使用自己唯一的 mapper slot 去讀取本機 DataNode 的 Block - Jazz |
發表人: | poolikujm123 [ 2016-04-20, 19:43 ] |
文章主題 : | Re: 關於job.setNumReduceTask 程式設計 分配問題 |
感謝Jazz,目前已經搞定了! |
發表人: | jim [ 2016-10-13, 09:04 ] |
文章主題 : | Re: 關於job.setNumReduceTask 程式設計 分配問題 |
poolikujm123你好 請問您是如何完成的 |
發表人: | jazz [ 2016-10-14, 19:07 ] |
文章主題 : | Re: 關於job.setNumReduceTask 程式設計 分配問題 |
jim 寫: poolikujm123你好 請問您是如何完成的 網站沒有通知功能,建議直接查「個人資料」的 E-mail ,寫信去問比較容易獲得回覆 ![]() - Jazz |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |