第四章编程模型
本章主要讲解Spark抽象编程模型,第一个抽象是RDD(Resilient DIstributed Dataset)即弹性分布式数据集,他是一个特殊集合,支持多种来源,有容错机制,可以被缓存,支持并行操作,Spark的第二个抽象是两种共享变量,即支持并行计算的广播变量和累加器。
基于Spark的大数据处理平台,吉利在同一抽象的RDD之上,RDD是Spark围绕的核心概念,也是最主要的抽象之一,是一种具有容错性的基于内存的集群计算抽象方法,Spark则是这个抽象方法的实现。
RDD的特征:作为输入数据的每个RDD有五个特征,其中分区,一系列的依赖关系和函数是三个基本特征。优先位置和分区策略是可选特征。
(1)分区:有一个数据分片列表,能够将数据进行切分,切分后的数据能够进行并行计算,是数据集的原子组的组成部分。
(2)函数:计算每个分片,得出一个遍历结果,用于说明在父RDD上执行何种运算。
(3)依赖:计算每个RDD对父RDD的依赖列表,源RDD没有依赖,通过依赖关系描述血统。
(4)优先位置(可选):每一个分片的优先计算位置。
(5)分区策略(可选):描述分区模块和数据存放位置,键值对的RDD根据哈希值进行分区。