1.环境准备工作流程:
yarn模式的 cluster部署模式
主要有两条工作线:
- 注册环境相关应用程序,节点
- Driver端继续执行相关算子
注: 最后将算子的task交给Executor来进行执行
流程图概述:
yarn模式的 client部署模式:
其实和cluster模式大致相同,不同的部分主要为Driver的放置位置不同:
cluster
:将Driver放置在集群的ApplicationMaster当中
client
:将Driver放置在集群外边
组件通信
应用的执行
阶段的划分
阶段的划分的数量= shuffle的次数+1(ResultStage)
任务的切分
任务的切分=每个stage最后的分区数量
任务的调度
1.底层会有调度器进行调度task
2.本地化级别,从高到低进行(进程本地化, 节点本地化, 机架本地化, 任意),效率越来越低
任务的执行
1.将一个个的任务放在线程中
2.再将线程放在线程池中进行调用
shuffle的处理器及执行
处理器及出发条件介绍:
1.BaseShuffleHandle处理器: 将所有的数据全部写入到一个文件中, 再添加一个索引文件, 便于task去查找数据
2.BypassMerageSortShuffleHandle处理器: 将多个task中的文件只写到同一个文件中,减少了小文件,但当task和分区数量多时,仍然会出现多个小文件
3.SerializationHandle 处理器:每个task都会有单独的文件,会造成大量小文件