文章目录
分类
- Transformation(转换):
概念
将一个RDD通过一系列操作变为另一个RDD的过程,这个操作可能是简单的加减操作,也可能是某个函数或某一系列函数。
注:
- 所有Transformation函数都是Lazy(惰性的),不会立即执行,需要Action函数来触发
- Transformation函数包括:map、filter、reducebykey等函数
- Transformation操作不会触发真正的计算,只会建立RDD的关系图
- Action(动作)
概念
Action操作代表依次计算的结束,返回值不是RDD,将结果返回到Driver程序或输出到外部(文件或文件夹)。
注:
- 所有Action函数立即执行(Eager),比如reduce、saveAsTextFile、count等。
- 所以Transformation只是建立计算关系,Action才是实际的执行者。
- 每个Action操作都会形成一个DAG调用SparkCoutext的runJob方法向集群提交请求,所以每个Action操作都对应一个DAG/Job。