spark核心编程原理
- 首先定义初始的RDD,第一个RDD确定是从哪里读取数据,hdfs/local/还是程序中的集合
- 定义RDD的计算操作,通过spark中的算子,map/flapmap/filter/groupBykey。这比map和reduce 的功能强大而又简洁。
- 第三就是循环往复的过程,当第一个算子算完了以后,数据可能就会到了新的一批节点上,变成一个新的RDD,然后再次重复。针对所有的RDD,定义计算和 操作
- 最后将算的最终的数据,存储起来。
spark和MapReduce最大的不同在于,迭代式计算模型
- MapReduce氛围两个阶段,map和reduce,两个阶段完了就结束了,所以在一个Job中能做的处理很有限,只能在map和reduce 中处理。
- spark计算模型,可以分为n个阶段,因为它是内存迭代式的,我们在处理完一个阶段后,可以继续迭代,而不是只有两个阶段。