天天看點

Spark核心程式設計:Spark基本工作原理與RDD

一、spark工作原理

1、分布式

2、主要基于記憶體(少數情況基于磁盤)

3、疊代式計算

二、RDD以及其特點

1、RDD是Spark提供的核心抽象,全稱為Resillient Distributed Dataset,即彈性分布式資料集。

2、RDD在抽象上來說是一種元素集合,包含了資料。它是被分區的,分為多個分區,每個分區分布在叢集中的不同節點上,進而讓RDD中的資料可以被并行操作。(分布式資料集)

3、RDD通常通過Hadoop上的檔案,即HDFS檔案或者Hive表,來進行建立;有時也可以通過應用程式中的集合來建立。

4、RDD最重要的特性就是,提供了容錯性,可以自動從節點失敗中恢複過來。即如果某個節點上的RDD partition,因為節點故障,導緻資料丢了,那麼RDD會自動通過自己的資料來源重新計算該partition。這一切對使用者是透明的。

5、RDD的資料預設情況下存放在記憶體中的,但是在記憶體資源不足時,Spark會自動将RDD資料寫入磁盤。(彈性)

三、常用spark開發?

1、核心開發:離線批處理 / 延遲性的互動式資料處理

2、SQL查詢:底層都是RDD和計算操作

3、實時計算:底層都是RDD和計算操作

繼續閱讀