Spark学习笔记

Spark built on Hadoop

Spark学习笔记

Component of Spark

Spark学习笔记

Spark不仅仅支持Mapreduce,还支持sql、Machine learning、graph运算等,比起Hadoop应用更灵活宽泛。

Spark cluster mode

Spark学习笔记

spark 中的RDD 数据结构应对Mapreduce中data replication、disk IO、serialization引起的低效问题。

RDD (类似于tensorflow里面的tensor pipline?)将operation分为transformation和action,只有action才能触发真正的运算,对于transformation只进行lazy evaluation。operation会连成pipline,相当于把小步的运算从逻辑上组合成一大步运算,而省略了不必要的中间步骤以及中间数据的同步等待和传输等,减少了driver和cluster之间的交互,提高了效率。

RDD 运行过程 :

(1)创建RDD对象;
(2)SparkContext负责计算RDD之间的依赖关系(窄依赖,宽依赖(shuffle)),构建Directed Acyclic Graph;

(3)DAGScheduler负责把DAG图分解成多个阶段,一般窄依赖的RDD处于同一阶段,在宽依赖处划分新阶段,每个阶段中包含了多个任务,每个任务会被任务调度器分发给各个工作节点(Worker Node)上的Executor去执行。

RDD memory management

Spark学习笔记