Presto查询执行模型

2020-06-18  本文已影响0人  liuzx32
  1. Statement语句: 其实就是输入的SQL

  2. Query 根据SQL语句生成查询执行计划,进而生成可以执行的查询(Query),一个查询执行由Stage、Task、Driver、Split、Operator和DataSource组成

  3. Stage 执行查询阶段 Stage之间是树状的结构 ,RootStage 将结果返回给coordinator ,SourceStage接收coordinator数据 其他stage都有上下游 stage分为四种 single(root)、Fixed、source、coordinator_only(DML or DDL)

  4. Exchange 两个stage数据的交换通过Exchange 两种Exchange ;Output Buffer (生产数据的stage通过此传给下游stage)Exchange Client (下游消费);如果stage 是source 直接通过connector 读数据,则改stage通过Operator与connector交互
    stage 并不会被执行,只是对执行计划进行管理

  5. Task 实际运行在worker上的

  6. Driver 一个Driver处理一个split

  7. Operator 一个operator代表对一个split的一种操作 operator每次只会读取一个paged对象

  8. Split 分片一个分片就是一个大的数据集中的一个小的子集

  9. Page presto中处理的最小数据单元 一个page包含多个block对象,每个block对象是个字节数据


一个查询分解为多个stage 每个 stage拆分多个task,每个task处理一个or多个split ,一个task被分解为一个或多个Driver。

上一篇下一篇

猜你喜欢

热点阅读