{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

hadoop任務(wù),給定數(shù)據(jù)量和處理邏輯(Sql、UDF等),如何預(yù)估計(jì)算時(shí)間與資源?有沒有實(shí)際案例?

silenceboysilenceboy 回答0 收藏1
收藏問題

1條回答

fireflow

fireflow

回答于2022-06-28 15:02

首先明確下定義:計(jì)算時(shí)間是指計(jì)算機(jī)實(shí)際執(zhí)行的時(shí)間,不是人等待的時(shí)間,因?yàn)榈却龝r(shí)間依賴于有多少資源可以調(diào)度。

首先我們不考慮資源問題,討論時(shí)間的預(yù)估。執(zhí)行時(shí)間依賴于執(zhí)行引擎是 Spark 還是 MapReduce。


Spark 任務(wù)

Spark 任務(wù)的總執(zhí)行時(shí)間可以看 Spark UI,以下圖為例

Spark 任務(wù)是分多個(gè) Physical Stage 執(zhí)行的,每個(gè)stage下有很多個(gè)task,task 的時(shí)間也有大致的預(yù)估,如下圖

Task 個(gè)數(shù)依賴于 Hive 表的文件數(shù),每個(gè)task的執(zhí)行時(shí)間依賴于 UDF是怎么實(shí)現(xiàn)的,需要具體問題具體分析。

MapReduce 任務(wù)

MapReduce 任務(wù)的執(zhí)行時(shí)間,也需要參考 hadoop web ui

整體執(zhí)行時(shí)間 = map_time * map_number + reduce_time * reduce_number;

map 個(gè)數(shù)一般情況下是 hive 表的分區(qū)數(shù);

map 執(zhí)行時(shí)間取決于 每個(gè)分區(qū)里的數(shù)據(jù)量 和 udf 的邏輯;


不管是 Spark 還是 MapReduce,計(jì)算時(shí)間都依賴于:

  1. 數(shù)據(jù)源分區(qū)數(shù)
  2. 每個(gè)分區(qū)里的文件數(shù)
  3. 每個(gè)文件的大小
  4. udf 邏輯
  5. sql 邏輯(group by、filter、distinct count)

實(shí)際場(chǎng)景下資源是有限的,我們也不關(guān)心計(jì)算時(shí)間,反而是更關(guān)心一個(gè)數(shù)據(jù)集需要多久能處理完,比如一個(gè)1T的Hive表大概需要幾個(gè)小時(shí)跑完MapReduce。這時(shí)候我們需要做實(shí)驗(yàn),觀察一個(gè)分區(qū)大概需要多久跑完,數(shù)據(jù)有沒有 skew,從經(jīng)驗(yàn)上給出一個(gè)合理的時(shí)間,進(jìn)而保證任務(wù)交付。

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<