Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2020-01-18, 06:11

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




發表新文章 回覆主題  [ 2 篇文章 ] 
發表人 內容
 文章主題 : Map Reduce 設計的問題
文章發表於 : 2013-04-24, 10:11 
離線

註冊時間: 2013-04-24, 10:08
文章: 1
請教一個問題

現在我有很多相同結構的 hbase 的 table 分別是 TableA,TableB,TableC ... 大約會有300個左右

且每一個table 的資料又是獨立的

我現在想針對這些 table 的資料做一些運算 例如 每10筆資料 算一個平均值,計算出來的數值在儲存到另一個 hbase 的 table

我的問題是

我應該是要寫一個JOB 然後 每一個 MAP 對應一個 TALBE 也就是有1個job 300 個map
或是應該寫成 300個JOB 然後每一job會產生一個 MAP 也就是有300個job 300 個map
不知道哪一種設計是比較理想的。

謝謝!


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: Map Reduce 設計的問題
文章發表於 : 2013-04-25, 10:28 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
jichang 寫:
我現在想針對這些 table 的資料做一些運算 例如 每10筆資料 算一個平均值,計算出來的數值在儲存到另一個 hbase 的 table
我的問題是
我應該是要寫一個JOB 然後 每一個 MAP 對應一個 TALBE 也就是有1個job 300 個map
或是應該寫成 300個JOB 然後每一job會產生一個 MAP 也就是有300個job 300 個map
不知道哪一種設計是比較理想的。
謝謝!


感覺差不多。唯前者的準備時間較短。
我想限制只會在於 RegionServer 能否容許這麼多同時的連線。

前者 1 個 Job 同時有 300 個 map ,會根據 Mapper Capacity (假設有 5 台,各 2 個 mapper,容量為 10 個 mapper) 分配
所以最多只有 10 個 HBase 連線。又假設 5 台只有 4 個 RegionServer,加上 Table 各自獨立,假設均勻分布於 4 個 RegionServer
那每個 RegionServer 同時最多 3 個連線。應該應付得過來。

後者的缺點是準備時間會變長,也就是每個 Job 產生 jar 檔,複製到 TaskTracker,生成 Child 執行 mapper 的 JVM 啟動時間。
剩餘的部份,根據上述說明,同時最多也只會跑 10 個 Job,10 個 mapper。每個 RegionServer 最多 3 個連線。

純粹用想的,實務上因為還會受 RegionServer 的分佈情形影響,故僅供參考。

謹記一個原則:(準備時間) + (資料傳輸時間) << (Mapper 計算時間) 才會有最佳的效率。
若純以此為考量,後者應該比較難滿足上述不等式,因為準備時間前者只有 1 份,後者有 300 份。

- Jazz


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

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


誰在線上

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


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

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