Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2018-05-22, 12:12

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 5 篇文章 ] 
發表人 內容
 文章主題 : 關於job.setNumReduceTask 程式設計 分配問題
文章發表於 : 2016-04-18, 14:36 
離線

註冊時間: 2016-03-22, 20:38
文章: 9
我有三台虛擬機,
其中我的程式的演算法需要跑四次的map reduce,
我想問假設我有三個文件,如何分配給三台虛擬機,第一台執行第一個文件,第二台執行第二個文件,以此類推,分別能夠讓每台對映執行一個文件!
當中的key值要怎麼設才好,在程式方面要如何寫才好
我有嘗試在演算法的四次mapreduce分別設job.setNumReduceTasks(3),但是輸出結果會出現資料累積重覆的情形


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 關於job.setNumReduceTask 程式設計 分配問題
文章發表於 : 2016-04-19, 00:09 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
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


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 關於job.setNumReduceTask 程式設計 分配問題
文章發表於 : 2016-04-20, 19:43 
離線

註冊時間: 2016-03-22, 20:38
文章: 9
感謝Jazz,目前已經搞定了!


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 關於job.setNumReduceTask 程式設計 分配問題
文章發表於 : 2016-10-13, 09:04 
離線

註冊時間: 2016-10-13, 09:03
文章: 1
poolikujm123你好 請問您是如何完成的


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 關於job.setNumReduceTask 程式設計 分配問題
文章發表於 : 2016-10-14, 19:07 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
jim 寫:
poolikujm123你好 請問您是如何完成的


網站沒有通知功能,建議直接查「個人資料」的 E-mail ,寫信去問比較容易獲得回覆 :)

- Jazz


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 5 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作