sail 架构简单说明
内容来自官方文档,实际上目前官方介绍比较简单,sail 运行包含了本地以及集群模式
本地模式
可以看到是本地进程运行的local job runner ,通过多线程实现数据分片的并行执行
集群模式
集群模式sail 使用了类似control plan 以及data plan 的套路,sail 基于了actor 的设计模式,执行流程
- spark client 提交执行请求到sail server
- driver acor 通过workermanager 运行worker 容器,worker 容器创建worker actor
- worker actor 通过driver actor 注册worker
- driver actor 发送任务到worker 执行
- worker actor 执行任务,当然也可能会存在跨stage的数据交换
- worker actor 报告任务状态到driver actor
- driver actor 收集属于最终stage 的任务状态信息
- driver actor 返回结果数据到spark client
说明
从介绍上目前看sail 还相对简单一些,同时代码也处于早期,可以结合官方的介绍以及源码系统学习下
参考资料
https://docs.lakesail.com/sail/latest/concepts/architecture/