spark-spark架构原理
1、Driver,启动之后执行一些初始化操作,然后向Master进行注册,让master知道有一个spark应用程序要执行。在Executor反向注册以后,就可以开始正式执行spark程序,首先第一步创建初始RDD,读取数据源。从HDFS文件内容中读取数据,分布到work节点上,形成内存中的分布式数据集也就是初始RDD。Driver会根据我们对RDD定义的操作,提交一堆task去excecutor上去
2、Master,master主要复制资源调度和集群监控等功能。它收到Driver发送的请求后,发送请求给work,进行资源分配就是分配一些executor
3、Worker,主要负责存储rdd的一些和部分partition,另外一个就是启动其他进程和线程对partition进行版型处理和计算。Executor启动后会反向向Driver进行注册,这样Driver就知道那些executor为他进行服务
4、Executor,executor接收到多个task后会启动多个线程来执行task
5、Task task就会对RDD的partition数据执行指定的算子操作,形成新的RDD的partition