application = driver+executor
Driver部分的代码:SparkConf+SparkContext
---Driver代码部分:---
val conf = new SparkConf()
val sc = new SparkContext(conf)
---------- end ---------
---executor部分代码,分布到集群中的代码---
比如 textFile flatMan map
worker 管理当前的note的资源,并接受master的指令来分配具体的计算资源Executor(在新的进程中分配)
ExecutorRunner 管理进程,创建进程
Worker 发心跳给Master只有id,不会汇报资源信息
Worker在Master注册时就已经汇报过资源信息
Worker只有故障时才汇报资源情况
Spark 速度快的原因,不是基于内存计算,而主要是他的调度和容错等
Stage 内部:计算逻辑完全一样只是计算的逻辑不同罢了,这是分布式计算的基本
一个Application里面可以有多个Jobs
一般一个action里有一个jobs
Spark的程序运行有两种运行模式:Client Cluster 一般是Client模式
Worker 上做driver 是Cluster模式