今天博主在学习spark中一直在用算子,突然很困惑为什么要叫算子而不是方法呢?
答:
算子:(Operation)
是为了区分和scala集合对象的方法,集合对象的方法都是在同一个节点中完成的,RDD的方法也就是算子都是在Executor中执行,为了区分两者,所以称之为算子。
foreach | collect.foreach |
---|---|
Execute端执行操做 | 在driver端执执行操作 |
每个Execute进行输出,所以乱序 | Execute端反馈给driver,driver端进行整合输出,所以是有序 |
类RDD的方法 | 接口IndexedSeqOptimized的方法 |