1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        每日一題:什么是數(shù)據(jù)傾斜及解決方案?

        共 1243字,需瀏覽 3分鐘

         ·

        2021-12-27 15:35

        每日一題?精選??济嬖囶},將其匯總成專欄,利用零碎時(shí)間為職業(yè)保駕護(hù)航,建議大家獨(dú)立思考答題。題目1、何為數(shù)據(jù)傾斜?

        數(shù)據(jù)傾斜在MapReduce編程模型中十分常見,用最通俗易懂的話來說,數(shù)據(jù)傾斜無非就是大量的相同key被partition分配到一個(gè)分區(qū)里,造成了'一個(gè)人累死,其他人閑死'的情況,這種情況是我們不能接受的,這也違背了并行計(jì)算的初衷,首先一個(gè)節(jié)點(diǎn)要承受著巨大的壓力,而其他節(jié)點(diǎn)計(jì)算完畢后要一直等待這個(gè)忙碌的節(jié)點(diǎn),也拖累了整體的計(jì)算時(shí)間,可以說效率是十分低下的。

        2、數(shù)據(jù)傾斜表現(xiàn)

        1、絕大多數(shù)task執(zhí)行得都非???,但個(gè)別task執(zhí)行的極慢。?
        2、原本能正常執(zhí)行的Spark作業(yè),某天突然爆出OOM(內(nèi)存溢出)異常。觀察異常棧,是我們寫的業(yè)務(wù)代碼造成的

        3、解決方案

        1、增加jvm內(nèi)存,這適用于第一種情況(唯一值非常少,極少數(shù)值有非常多的記錄值(唯一值少于幾千)),這種情況下,往往只能通過硬件的手段來進(jìn)行調(diào)優(yōu),增加jvm內(nèi)存可以顯著的提高運(yùn)行效率。

        2、增加reduce的個(gè)數(shù),這適用于第二種情況(唯一值比較多,這個(gè)字段的某些值有遠(yuǎn)遠(yuǎn)多于其他值的記錄數(shù),但是它的占比也小于百分之一或千分之一),我們知道,這種情況下,最容易造成的結(jié)果就是大量相同key被partition到一個(gè)分區(qū),從而一個(gè)reduce執(zhí)行了大量的工作,而如果我們增加了reduce的個(gè)數(shù),這種情況相對來說會(huì)減輕很多,畢竟計(jì)算的節(jié)點(diǎn)多了,就算工作量還是不均勻的,那也要小很多。

        3、自定義分區(qū),這需要用戶自己繼承partition類,指定分區(qū)策略,這種方式效果比較顯著。

        4、重新設(shè)計(jì)key,有一種方案是在map階段時(shí)給key加上一個(gè)隨機(jī)數(shù),有了隨機(jī)數(shù)的key就不會(huì)被大量的分配到同一節(jié)點(diǎn)(小幾率),待到reduce后再把隨機(jī)數(shù)去掉即可。

        5、使用combinner合并,combinner是在map階段,reduce之前的一個(gè)中間階段,在這個(gè)階段可以選擇性的把大量的相同key數(shù)據(jù)先進(jìn)行一個(gè)合并,可以看做是local reduce,然后再交給reduce來處理,這樣做的好處很多,即減輕了map端向reduce端發(fā)送的數(shù)據(jù)量(減輕了網(wǎng)絡(luò)帶寬),也減輕了map端和reduce端中間的shuffle階段的數(shù)據(jù)拉取數(shù)量(本地化磁盤IO速率),推薦使用這種方法。

        5df895273b85521c0296b95e87030d78.webp為更好的交流學(xué)習(xí),應(yīng)讀者的要求,我建立了一個(gè)交流群,有需要的同學(xué)可以在下方公眾號(hào)后臺(tái)回復(fù)關(guān)鍵字:面試,即可獲取快速通道。

        (長按三秒,即可進(jìn)入)


        后臺(tái)已放置一份精心整理的技術(shù)干貨,查看即可獲??!后臺(tái)回復(fù)關(guān)鍵字:面試,帶你進(jìn)入高手如云的學(xué)習(xí)交流群!

        推薦閱讀

        瀏覽 22
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产欧美另类五月丁香水多多 | 四虎精品在永久在线观看 | 99久久婷婷国产综精品喷水 | 欧美男男gaysxxoo视频 | 亚洲日韩在线播放 | 在线免费一区 | 猛操av | 国产对白淫语骚妻 | 亚洲一区在线免费观看 | 国产片婬乱18一级毛片视频不卡 |