Spark中执行transformation和action的区别

1,transformation是得到一个新的RDD,方式很多,比如从数据源生成一个新的RDD,从RDD生成一个新的RDD

2,action是得到一个值,或者一个结果(直接将RDDcache到内存中

所有的transformation都是采用的懒策略,就是如果只是将transformation提交是不会执行计算的,计算只有在action被提交的时候才被触发

从运行层面来看,Transformation实际上是一种链式的逻辑Action,记录了RDD演变的过程。Action则是实质触发Transformation开始计算的动作,由于在每个Transformation的过程中都有记录,所以每个RDD是知道上一个RDD是怎样转变为当前状态的,所以如果出错就可以很容易的重新演绎计算过程。

Reference:

1. http://blog.csdn.net/map_lixiupeng/article/details/41958561

2. http://www.dataguru.cn/thread-588091-1-1.html

3. http://my.oschina.net/hanzhankang/blog/200275

你可能感兴趣的:(spark,action,transformation)