Presto执行计划 - 分发Statement到不同的QueryExecution
阅读源码时梳理逻辑用,无阅读价值
获取QueryExecution
queryexecution表示一次查询执行,用于启动、停止与管理一个查询,以及统计这个查询的相关信息。
在 经过Antlr 4语法解析起进行语法分析后,最终生成了一个Node
,然后转成Statement,然后再包装成PreparedQuery
再看后续代码,在 dispatchQueryFactory.createDispatchQuery()
方法中对不同类型的Statement 进行分发处理,其中对应的类为:QueryExecutionFactory
1 | preparedQuery = queryPreparer.prepareQuery(session, query); |