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运行时候的事件流以下所示: