spark之RDD詳解----五大特性

spark Github: https://github.com/apache/spark/
RDD: 讓開發(fā)者大大降低開發(fā)分布式應(yīng)用程序的門檻以及執(zhí)行效率锋边。

RDD源碼:https://github.com/apache/spark/tree/master/core/src/main/scala/org/apache/spark/rdd

1.A Resilient Distributed Dataset (RDD):彈性分布式數(shù)據(jù)集

彈性:代表著spark在分布式計(jì)算的時(shí)候陆盘,可以容錯(cuò) ---計(jì)算層面
分布式:把一份數(shù)據(jù)拆分成多份篙议,在各個(gè)節(jié)點(diǎn)上并行的運(yùn)行常侦,他們之間沒有任何的依賴關(guān)系
數(shù)據(jù)集:一個(gè)文件就是一個(gè)數(shù)據(jù)集

2.the basic abstraction in Spark:spark中最基本的抽象單元

3.Represents an immutable:代表著不可變刊苍,RDD產(chǎn)生就是不可變的

partitioned collection of elements :數(shù)據(jù)可以拆分成分區(qū)
that can be operated on in parallel.:每個(gè)分區(qū)的內(nèi)容可以并行的被操作
解釋:
RDD(1,2,3,4,5,6,7,8,9) 假如需要 + 1
那么數(shù)據(jù)被分成三個(gè)分區(qū)梯影,只要每個(gè)分區(qū)上的內(nèi)容都執(zhí)行+1的操作就可以
Hadoop001: (1,2,3) +1
Hadoop002: (4,5,6) +1
Hadoop003: (7,8,9) +1

4.abstract class RDD[T: ClassTag](

@transient private var sc: SparkContext,
@transient private var deps: Seq[Dependency[
]]
) extends Serializable with Logging {

(1)抽象類:RDD必然是由子類實(shí)現(xiàn)的兢哭,我們使用的直接使用其子類即可
(2)Serializable:可以序列化
(3)Logging:spark1.6可以使用,spark2.0之后不可以使用
(4)T:存儲(chǔ)各種數(shù)據(jù)類型
(5)SparkContext
(6)@transient

RDD的五大特性:【必須要記住】

Internally, each RDD is characterized by five main properties:

每一個(gè)RDD都有如下的五大特性

    • A list of partitions :一堆分區(qū)返帕,由很多個(gè)分區(qū)構(gòu)成桐玻,由partition構(gòu)成
    • A function for computing each split/partition:
      一個(gè)函數(shù)對(duì)RDD做一個(gè)操作,就是對(duì)構(gòu)成RDDd 每一個(gè)分區(qū)做同樣的操作
    • A list of dependencies on other RDDs
      RDDA => RDDB => RDDC => RDDD 之間有依賴關(guān)系
      RDDA:是加載創(chuàng)建的 RDDA里面有很多partitions ,當(dāng)后面RDDBCD有數(shù)據(jù)丟失荆萤,可以重新加載數(shù)據(jù)
      【前提條件是窄依賴】
    • Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)
      可選項(xiàng):一個(gè)partition默認(rèn)是使用hash分區(qū)的
    • Optionally, a list of preferred locations to compute each split on (e.g. block locations for
      an HDFS file) 計(jì)算某個(gè)分片的時(shí)候镊靴,可能會(huì)有一組最合適的位置去計(jì)算
      preferred locations:數(shù)據(jù)本地性:數(shù)據(jù)在什么地方,最好在什么地方計(jì)算链韭,這樣性能更加好偏竟,因?yàn)闆]有數(shù)據(jù)傳輸【locations是因?yàn)槎喔北緳C(jī)制】

大數(shù)據(jù)里面一般是移動(dòng)數(shù)據(jù)不是移動(dòng)計(jì)算,所以數(shù)據(jù)本地化計(jì)算這樣性能更高敞峭。

RDD五大特性和RDD源碼中的對(duì)應(yīng)關(guān)系

def compute(split: Partition, context: TaskContext): Iterator[T]
RDD計(jì)算是對(duì)RDD里面的分區(qū)做計(jì)算踊谋,所以傳入split: Partition 對(duì)應(yīng)的RDD特點(diǎn)第二點(diǎn)

protected def getPartitions: Array[Partition]:
拿到分區(qū),RDD是由一系列的分區(qū)構(gòu)成旋讹,所以得到的一定是分區(qū) Array[Partition] 對(duì)應(yīng)著第一大特點(diǎn)
......

圖解RDD

RDD圖解.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末殖蚕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子骗村,更是在濱河造成了極大的恐慌嫌褪,老刑警劉巖呀枢,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胚股,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡裙秋,警方通過查閱死者的電腦和手機(jī)琅拌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摘刑,“玉大人进宝,你說(shuō)我怎么就攤上這事〖纤。” “怎么了党晋?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我未玻,道長(zhǎng)灾而,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任扳剿,我火速辦了婚禮旁趟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘庇绽。我一直安慰自己锡搜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布瞧掺。 她就那樣靜靜地躺著耕餐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪夸盟。 梳的紋絲不亂的頭發(fā)上蛾方,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音上陕,去河邊找鬼桩砰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛释簿,可吹牛的內(nèi)容都是我干的亚隅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼庶溶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼煮纵!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起偏螺,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤行疏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后套像,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酿联,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年夺巩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贞让。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柳譬,死狀恐怖喳张,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情美澳,我是刑警寧澤销部,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布摸航,位于F島的核電站,受9級(jí)特大地震影響舅桩,放射性物質(zhì)發(fā)生泄漏忙厌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一江咳、第九天 我趴在偏房一處隱蔽的房頂上張望逢净。 院中可真熱鬧,春花似錦歼指、人聲如沸爹土。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)胀茵。三九已至,卻和暖如春挟阻,著一層夾襖步出監(jiān)牢的瞬間琼娘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工附鸽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脱拼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓坷备,卻偏偏與公主長(zhǎng)得像熄浓,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子省撑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容