1、以RDD爲基石的Spark編程模型編程
在Spark中一切都是基於RDD的:分佈式
什麼是RDD呢?官方給出的解釋是:函數
也就是說每一個RDD都至少有如下三個函數實現:spa
Spark自帶了很是多的RDD:orm
RDD主要分爲兩種:事件
其中的transformations是lazy execution的,須要具體的action去觸發,每一個action操做都是一個單獨的job;ip
接下來咱們看一個具體的RDD操做的例子:pip
RDD中有兩個比較特殊的RDD:io
這兩個RDD的特殊之處在於皆是控制性操做的RDD:form
二,RDD的依賴和運行時
在Spark中RDD是具有依賴關係的,而依賴分爲兩種:
「Narrow」依賴的一個好處就是能夠進行內部的pipeline操做:
運行的時候是以RDD爲統一抽象並行化運行:
更進一步的詳細RDD並行化計算過程以下所示:
正如全部的分佈式結構同樣,Spark分佈式集羣也是主從結構的:
Spark運行時組件以下所示:
Spark運行時候的事件流以下所示: