自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大數(shù)據(jù)之謎Spark基礎(chǔ)篇,核心RDD特征分析講解

存儲(chǔ) 存儲(chǔ)軟件 大數(shù)據(jù) Spark
RDD(Resilient Distributed Datasets)彈性分布式數(shù)據(jù)集,是分布式內(nèi)存的一個(gè)抽象概念。我們可以抽象的代表對(duì)應(yīng)一個(gè)HDFS上的文件,但是他實(shí)際上是被分區(qū)的,分為多個(gè)分區(qū)撒落在Spark集群中的不同節(jié)點(diǎn)上。

 RDD特征概要總結(jié):

a、RDD是Spark提供的核心抽象,全稱為Resillient Distributed Dataset,即彈性分布式數(shù)據(jù)集。

b、RDD在抽象上來說是一種元素集合,包含了數(shù)據(jù)。它是被分區(qū)的,分為多個(gè)分區(qū),每個(gè)分區(qū)分布在集群中的不同節(jié)點(diǎn)上,從而讓RDD中的數(shù)據(jù)可以被并行操作。

c、RDD通常通過Hadoop上的文件,即HDFS文件或者Hive表,來進(jìn)行創(chuàng)建;有時(shí)也可以通過應(yīng)用程序中的集合來創(chuàng)建。

d、RDD最重要的特性就是,提供了容錯(cuò)性,可以自動(dòng)從節(jié)點(diǎn)失敗中恢復(fù)過來。即如果某個(gè)節(jié)點(diǎn)上的RDD partition,因?yàn)楣?jié)點(diǎn)故障,導(dǎo)致數(shù)據(jù)丟了,那么RDD會(huì)自動(dòng)通過自己的數(shù)據(jù)來源重新計(jì)算該partition。這一切對(duì)使用者是透明的。

[[226176]]

e、RDD的數(shù)據(jù)默認(rèn)情況下存放在內(nèi)存中的,但是在內(nèi)存資源不足時(shí),Spark會(huì)自動(dòng)將RDD數(shù)據(jù)寫入磁盤。

下面我們一起來對(duì)其關(guān)鍵特征進(jìn)行詳細(xì)分析

圖1-RDD分布式特征

分析:

RDD(Resilient Distributed Datasets)彈性分布式數(shù)據(jù)集,是分布式內(nèi)存的一個(gè)抽象概念。我們可以抽象的代表對(duì)應(yīng)一個(gè)HDFS上的文件,但是他實(shí)際上是被分區(qū)的,分為多個(gè)分區(qū)撒落在Spark集群中的不同節(jié)點(diǎn)上。比如現(xiàn)在我們的一個(gè)RDD有40萬條數(shù)據(jù),并分為4個(gè)partition,這4個(gè)分區(qū)數(shù)據(jù)分別存儲(chǔ)在集群中的節(jié)點(diǎn)1、2、3、4中,而每個(gè)partition分到10萬條數(shù)據(jù)。如圖1所示,這樣的一個(gè)RDD將數(shù)據(jù)分布式撒落在集群的一批節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)只是存儲(chǔ)RDD的部分partition,這就是RDD的分布式結(jié)構(gòu)模型。

圖2-RDD彈性式特征

分析:

RDD的彈性特征說明,當(dāng)RDD的每個(gè)partition數(shù)據(jù)都存放到Spark集群節(jié)點(diǎn)上時(shí)候,默認(rèn)是都存放在內(nèi)存中的,但是如果內(nèi)存放不下這么多的數(shù)據(jù)時(shí),我們?cè)撛趺崔k呢?這時(shí)候RDD的彈性特征就表現(xiàn)出來了。如上圖2所示,在節(jié)點(diǎn)3內(nèi)存中最多只能存儲(chǔ)6萬數(shù)據(jù),結(jié)果我們需要存放一個(gè)partition數(shù)據(jù)為10萬,那么這時(shí)就得把partition中的剩余4萬數(shù)據(jù)寫入到磁盤上進(jìn)行保存了。而這種存儲(chǔ)的分配針對(duì)用戶是透明的,我們不用管他怎么存儲(chǔ),雖然這種存儲(chǔ)機(jī)制是有配置參數(shù)提供我們選擇的,后續(xù)深入講解時(shí)候會(huì)介紹到如何選擇存儲(chǔ)策略,這里就不加深難度了,所以,RDD的這種自動(dòng)進(jìn)行內(nèi)存和磁盤之間權(quán)衡和卻換的機(jī)制,就是RDD的彈性特征所在。

圖3-RDD容錯(cuò)性特征

分析:

***我們來看看RDD被分散的存放在集群的各個(gè)節(jié)點(diǎn)上了,那假如某個(gè)節(jié)點(diǎn)運(yùn)行時(shí)候出現(xiàn)問題,數(shù)據(jù)該怎么辦呢?這里Spark的RDD支持了強(qiáng)大的容錯(cuò)機(jī)制,如上圖3,在運(yùn)行節(jié)點(diǎn)n時(shí)候出現(xiàn)了問題,這時(shí)候就需要重新獲取數(shù)據(jù)進(jìn)行計(jì)算,那RDD將啟動(dòng)容錯(cuò)機(jī)制,嘗試尋找上游依賴數(shù)據(jù)源節(jié)點(diǎn)3來重新獲取數(shù)據(jù)進(jìn)行計(jì)算,這里深入分析將會(huì)提出另外一個(gè)概念來了,那就是DAG(有向無環(huán)圖)、進(jìn)一步了解RDD的依賴關(guān)系,與底層邏輯關(guān)系了,期待分析的時(shí)候您能光臨。

責(zé)任編輯:武曉燕 來源: 大數(shù)據(jù)之謎
相關(guān)推薦

2016-10-24 09:52:45

SparkRDD容錯(cuò)

2016-10-24 23:04:56

SparkRDD數(shù)據(jù)

2015-08-11 15:52:52

大數(shù)據(jù)數(shù)據(jù)分析

2015-07-13 09:56:37

2017-04-25 09:50:16

SparkRDD核心

2019-04-17 15:16:00

Sparkshuffle算法

2020-12-04 14:31:45

大數(shù)據(jù)Spark

2021-03-04 08:39:21

SparkRDD調(diào)優(yōu)

2015-03-20 16:40:40

Spark大數(shù)據(jù)分析大數(shù)據(jù)

2015-07-09 15:57:35

2013-03-01 10:46:50

大數(shù)據(jù)核心海量數(shù)據(jù)

2012-08-30 14:33:03

Spark

2017-10-19 08:28:15

大數(shù)據(jù)HadoopSpark

2021-01-25 20:20:35

數(shù)據(jù)分析SparkHadoop

2018-11-08 15:12:16

數(shù)據(jù)分析算法決策樹

2021-09-05 07:55:36

Lsm核心實(shí)現(xiàn)

2018-05-06 16:59:14

大數(shù)據(jù)python數(shù)據(jù)可視化

2021-03-02 12:36:49

MQKafkaRocketMQ

2017-10-11 11:10:02

Spark Strea大數(shù)據(jù)流式處理

2016-08-22 11:06:43

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)