Scala当中什么是Transformation和 Action,以及它们俩的区别是什么?
程序员文章站
2022-05-29 10:17:25
Scala当中什么是Transformation和 Action,以及它们俩的区别是什么? ......
[学习笔记]
一个完整的rdd任务由两部分组成:transformation和 action。transformation用于对rdd的创建,还可以把老的rdd通过transformation来生成新的rdd。例如,map就 是一种transformation操作,它用于将已有rdd的每个元素传入一个自定义的函数,并得到一个新的元素,然后将所有的新元素组成一个新的 rdd。但rdd一大特性是延迟(lazy)计算,即纵使你执行这些transformation操作,这些操作也不会执行。换句话说, transformation操作不会触发spark程序执行的,它们只是先记录了对rdd所做的一系列操作,只有之后碰上一个action操作,那么前 面所有的transformation才会执行。collect和reduce就是action操作。
文章转载自原文: