一、 概念
什么是spark,spark说白了就是一个分布式计算框架,是MapReduce的平替,为了解决MapReduce中无法迭代式计算问题以及基于磁盘IO计算的问题,而在Spark中,它的核心是Spark Core,是学习Spark的第一道关卡,而Spark Core中的核心为RDD。
Spark Core计算数据逻辑
- 先从数据源将数据加载为Spark的抽象RDD
- 借助RDD中的函数算子,去实现相应的逻辑操作
- 结束RDD中的保存算子将数据持久化存储
二、 RDD相关内容
1、 RDD的包括
- 输入算子:将数据源数据转换为RDD数据集
- 转换算子:对RDD数据集进行计算并返回一个新的RDD数据集
- 行动算子:将RDD数据集数据输出出去
注意点:在RDD中存在一种惰性计算机制,如果在一个程序,只有输入/转换算子操作,那么这些算子只会把计算逻辑保存下来,
直到遇到行动算子时才会将前面的转换操作正式执行,保存的计算逻辑链称为血统依赖链
2、 RDD的组成
- 一组分片:在RDD中一个分片就是一个Task任务,task任务可以并行执行,分片个数我们也可以自行定义,而且在程序运行过程中,分片数也可以动态改变
- 一个计算分片数据的函数ÿ