spark核心编程原理

来源:互联网 发布:网络群组管理规定 编辑:程序博客网 时间:2024/06/02 05:41

spark核心编程原理

  1. 首先定义初始的RDD,第一个RDD确定是从哪里读取数据,hdfs/local/还是程序中的集合
  2. 定义RDD的计算操作,通过spark中的算子,map/flapmap/filter/groupBykey。这比map和reduce 的功能强大而又简洁。
  3. 第三就是循环往复的过程,当第一个算子算完了以后,数据可能就会到了新的一批节点上,变成一个新的RDD,然后再次重复。针对所有的RDD,定义计算和 操作
  4. 最后将算的最终的数据,存储起来。

spark和MapReduce最大的不同在于,迭代式计算模型

  • MapReduce氛围两个阶段,map和reduce,两个阶段完了就结束了,所以在一个Job中能做的处理很有限,只能在map和reduce 中处理。
  • spark计算模型,可以分为n个阶段,因为它是内存迭代式的,我们在处理完一个阶段后,可以继续迭代,而不是只有两个阶段。