前言
此篇主要總結(jié)到Hive,Flink,Spark出現(xiàn)數(shù)據(jù)傾斜的表現(xiàn),原因和解決辦法。首先會(huì)讓大家認(rèn)識(shí)到不同框架或者計(jì)算引擎處理傾斜的方案。最后你會(huì)發(fā)現(xiàn)計(jì)算框架只是“異曲”,文末總結(jié)才是“同工之妙”。點(diǎn)擊收藏與分享,工作和漲薪用得到?。?!
數(shù)據(jù)傾斜
數(shù)據(jù)傾斜最籠統(tǒng)概念就是數(shù)據(jù)的分布不平衡,有些地方數(shù)據(jù)多,有些地方數(shù)據(jù)少。在計(jì)算過(guò)程中有些地方數(shù)據(jù)早早地處理完了,有些地方數(shù)據(jù)遲遲沒(méi)有處理完成,造成整個(gè)處理流程遲遲沒(méi)有結(jié)束,這就是最直接數(shù)據(jù)傾斜的表現(xiàn)。
Hive
Hive數(shù)據(jù)傾斜表現(xiàn)
就是單說(shuō)hive自身的MR引擎:發(fā)現(xiàn)所有的map task全部完成,并且99%的reduce task完成,只剩下一個(gè)或者少數(shù)幾個(gè)reduce task一直在執(zhí)行,這種情況下一般都是發(fā)生了數(shù)據(jù)傾斜。說(shuō)白了就是Hive的數(shù)據(jù)傾斜本質(zhì)上是MapReduce的數(shù)據(jù)傾斜。
Hive數(shù)據(jù)傾斜的原因
在MapReduce編程模型中十分常見(jiàn),大量相同的key被分配到一個(gè)reduce里,造成一個(gè)reduce任務(wù)累死,其他reduce任務(wù)閑死。查看任務(wù)進(jìn)度,發(fā)現(xiàn)長(zhǎng)時(shí)間停留在99%或100%,查看任務(wù)監(jiān)控界面,只有少量的reduce子任務(wù)未完成。
-
key分布不均衡。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-776462.html
-
業(yè)務(wù)問(wèn)題或者業(yè)務(wù)數(shù)據(jù)本身的問(wèn)題,某些數(shù)據(jù)比較集中。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-776462.html
到了這里,關(guān)于萬(wàn)字解決Flink|Spark|Hive 數(shù)據(jù)傾斜的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!