Spark工作原理和RDD

2021-09-14 06:48:40 字數 1643 閱讀 1509

spark工作原理

第一步:client將spark程式提交到spark集群節點1、2、3上。

第二步:每個節點從hdfs或者hive中讀取相應的資料。

第三步:每個節點進行相應的迭代式計算。

第四步:把計算結果儲存到指定的檔案系統中(hdfs、hive、mysql等。

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與mapreduce最大的不同在於,迭代式計算模型:

spark的核心程式設計

第一,定義初始的rdd,就是說,你要定義第乙個rdd是從**,讀取資料,hdfs、linux本地檔案、程式中的集合。

第二,定義對rdd的計算操作,這個在spark裡稱之為運算元,map、reduce、flatmap、groupbykey,比mapreduce提供的map和reduce強大的太多太多了。

第三,其實就是迴圈往復的過程,第乙個計算完了以後,資料可能就會到了新的一批節點上,也就是變成乙個新的rdd。然後再次反覆,針對新的rdd定義計算操作。

第四,最後,就是獲得最終的資料,將資料儲存起來。

spark架構原理

spark核心架構原理

master:資源排程演算法; dag:stage劃分演算法; taskscheduler:task分配演算法;

sparkcontext原始碼分析

Spark工作原理及RDD

1.基於記憶體 2.迭代式計算 3.分布式 基本工作原理 將spark的程式提交到spark集群上,在hadoop的hdfs或者hive上讀取資料,讀取的資料存放在各個spark的節點上,分布式的存放在多個節點上,主要在每個節點的記憶體上,這樣可以加快速度。對節點的資料進行處理,處理後的資料存放在其...

Spark開發 spark執行原理和RDD

核心 1 spark執行原理 2 rdd 1 spark執行原理 spark應用程式基本概念spark基本工作流程spark 應用程式程式設計模型 1 driver program sparkcontext 1 1匯入spark的類和隱式轉換 1 2構建spark應用程式的執行環境 sparkcon...

02 spark基本工作原理與RDD

分布式主要基於記憶體 迭代式計算 rdd在抽象上來說是一種元素集合,包含了資料。它是被分割槽的,分為多個分割槽,每個分割槽分布在集群中的不同節點上,從而讓rdd中的資料可以被並行操作。分布式資料集 rdd最重要的特性就是,提供了容錯性,可以自動從節點失敗中恢復過來。即如果某個節點上的rdd part...