對spark中RDD的partition通俗易懂的介紹

我們要想對spark中RDD的分區(qū)進行一個簡單的了解的話征字,就不免要先了解一下hdfs的前世今生寻咒。

眾所周知兄朋,hdfs是一個非常不錯的分布式文件系統(tǒng)常拓,這是這么多年來大家有目共睹的渐溶。

hdfs文件為分布式存儲,每個文件都被切分為block(默認為128M)弄抬。為了達到容錯的目的茎辐,他們還提供為每個block存放了N個副本(默認為3個)。當然眉睹,以上說的這些也可以根據(jù)實際的環(huán)境業(yè)務調整。

多副本除了可以達到容錯的目的废膘,也為計算時數(shù)據(jù)的本地性提供了便捷竹海。當數(shù)據(jù)所在節(jié)點的計算資源不充足時,多副本機制可以不用遷移數(shù)據(jù)丐黄,直接在另一個副本所在節(jié)點計算即可斋配。此時看到這里,肯定就有人會問了灌闺,那如果所有副本所在的節(jié)點計算資源都不充足那該怎么辦?

問的很好艰争,一般會有一個配置來設置一個等待時長來等待的,假設等待時長為三秒桂对,如果超過三秒甩卓,還沒有空閑資源,就會分配給別的副本所在節(jié)點計算的蕉斜,如果再別的副本所在節(jié)點也需等待且超過了三秒逾柿。則就會啟動數(shù)據(jù)遷移了(諸多因素影響,代價就比較大了)宅此。

接下來我們就介紹RDD机错,RDD是什么?彈性分布式數(shù)據(jù)集。

彈性:并不是指他可以動態(tài)擴展父腕,而是血統(tǒng)容錯機制弱匪。

分布式:顧名思義,RDD會在多個節(jié)點上存儲璧亮,就和hdfs的分布式道理是一樣的萧诫。hdfs文件被切分為多個block存儲在各個節(jié)點上斥难,而RDD是被切分為多個partition。不同的partition可能在不同的節(jié)點上财搁。

再spark讀取hdfs的場景下蘸炸,spark把hdfs的block讀到內存就會抽象為spark的partition。至于后續(xù)遇到shuffle的操作尖奔,RDD的partition可以根據(jù)Hash再次進行劃分(一般pairRDD是使用key做Hash再取余來劃分partition)搭儒。

再spark計算末尾,一般會把數(shù)據(jù)做持久化到hive提茁,hbase淹禾,hdfs等等。我們就拿hdfs舉例茴扁,將RDD持久化到hdfs上铃岔,RDD的每個partition就會存成一個文件,如果文件小于128M峭火,就可以理解為一個partition對應hdfs的一個block毁习。反之,如果大于128M卖丸,就會被且分為多個block纺且,這樣,一個partition就會對應多個block稍浆。

鑒于上述partition大于128M的情況载碌,在做sparkStreaming增量數(shù)據(jù)累加時一定要記得調整RDD的分區(qū)數(shù)。假設衅枫,第一次保存RDD時10個partition嫁艇,每個partition有140M。那么該RDD保存在hdfs上就會有20個block弦撩,下一批次重新讀取hdfs上的這些數(shù)據(jù)步咪,RDD的partition個數(shù)就會變?yōu)?0個。再后續(xù)有類似union的操作益楼,導致partition增加歧斟,但是程序有沒有repartition或者進過shuffle的重新分區(qū),這樣就導致這部分數(shù)據(jù)的partition無限增加偏形,這樣一直下去肯定是會出問題的静袖。所以,類似這樣的情景俊扭,再程序開發(fā)結束一定要審查需不需要重新分區(qū)队橙。

安利一個特別熱心的編程樂園群:624108656

超級熱心的群
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子捐康,更是在濱河造成了極大的恐慌仇矾,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件解总,死亡現(xiàn)場離奇詭異贮匕,居然都是意外死亡,警方通過查閱死者的電腦和手機花枫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門刻盐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人劳翰,你說我怎么就攤上這事敦锌。” “怎么了佳簸?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵乙墙,是天一觀的道長。 經常有香客問我生均,道長听想,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任马胧,我火速辦了婚禮汉买,結果婚禮上,老公的妹妹穿的比我還像新娘漓雅。我一直安慰自己录别,他們只是感情好朽色,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布邻吞。 她就那樣靜靜地躺著,像睡著了一般葫男。 火紅的嫁衣襯著肌膚如雪抱冷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天梢褐,我揣著相機與錄音旺遮,去河邊找鬼。 笑死盈咳,一個胖子當著我的面吹牛耿眉,可吹牛的內容都是我干的。 我是一名探鬼主播鱼响,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼鸣剪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起筐骇,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤债鸡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后铛纬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體厌均,經...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年告唆,在試婚紗的時候發(fā)現(xiàn)自己被綠了棺弊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡悔详,死狀恐怖镊屎,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情茄螃,我是刑警寧澤缝驳,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站归苍,受9級特大地震影響用狱,放射性物質發(fā)生泄漏。R本人自食惡果不足惜拼弃,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一夏伊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吻氧,春花似錦溺忧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至振惰,卻和暖如春歌溉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骑晶。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工痛垛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人桶蛔。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓匙头,卻偏偏與公主長得像,于是被迫代替她去往敵國和親仔雷。 傳聞我的和親對象是個殘疾皇子蹂析,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內容