Presto适合PB级海量数据复杂分析,互动式SQL查询,?持跨数据源查询。本文就将详细解析Client提交查询请求到PrestoServer端响应的细节,以及还原Presto资源组校验的实现过程。
Presto调度模块源码解析-Client提交请求
当客户端以控制台Console、脚本--execute等方式提交SQL作业时,Presto的Client会将作业相关的参数和脚本封装成一个Restful请求,提交给PrestoServer端。然后再进行后续的诸如解析执行计划、拆分Stage、调度task到Worker端执行等操作。下面就介绍一下Client提交作业到服务端部分的源码。
Main函数
客户端提交作业的代码是从Presto的main函数开始的: