对于RDD有两种计算方式:
转换操作(返回值还是一个RDD)—也叫懒操作,不是立即执行
执行操作(返回值不是一个RDD)—立即执行
转换操作(Transformation) (如:map,filter,groupBy,sortBy,join等),转换操作也叫懒操作,也就是说从一个RDD转换生成另一个RDD的操作不是马上执行,Spark在遇到转换操作时只会记录需要这样的操作,并不会去执行,需要等到有执行操作的时候才会真正启动计算过程进行计算。
执行操作(Action) (如:count,collect,save,reduce等),执行操作会返回结果或把RDD数据写到存储系统中。Actions是触发Spark启动计算的动因
参考:
https://blog.csdn.net/shenshengsu1990/article/details/100010963