日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Hadoop数据倾斜及解决办法

發(fā)布時間:2024/8/26 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop数据倾斜及解决办法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)據(jù)傾斜:就是大量的相同key被partition分配到一個分區(qū)里,map /reduce程序執(zhí)行時,reduce節(jié)點大部分執(zhí)行完畢,但是有一個或者幾個reduce節(jié)點運行很慢,導致整個程序的處理時間很長,

這是因為某一個key的條數(shù)比其他key多很多(有時是百倍或者千倍之多),這條key所在的reduce節(jié)點所處理的數(shù)據(jù)量比其他節(jié)點就大很多,從而導致某幾個節(jié)點遲遲運行不完。

解決方案:

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

?? 2.增加reduce的個數(shù),這適用于第二種情況(唯一值比較多,這個字段的某些值有遠遠多于其他值的記錄數(shù),但是它的占比也小于百分之一或千分之一),我們知道,這種情況下,

  最容易造成的結果就是大量相同key被partition到一個分區(qū),從而一個reduce執(zhí)行了大量的工作,而如果我們增加了reduce的個數(shù),這種情況相對來說會減輕很多,畢竟計算的節(jié)點多了,就算工作量還是不均勻的,那也要小很多。???

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

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

?? 5.使用combinner合并,combinner是在map階段,reduce之前的一個中間階段,在這個階段可以選擇性的把大量的相同key數(shù)據(jù)先進行一個合并,可以看做是local reduce,然后再交給reduce來處理,

  這樣做的好處很多,即減輕了map端向reduce端發(fā)送的數(shù)據(jù)量(減輕了網(wǎng)絡帶寬),也減輕了map端和reduce端中間的shuffle階段的數(shù)據(jù)拉取數(shù)量(本地化磁盤IO速率),推薦使用這種方法。

轉載于:https://www.cnblogs.com/dummyly/p/10099924.html

總結

以上是生活随笔為你收集整理的Hadoop数据倾斜及解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。