第1章 presto概述

1、Coordinator所有工作都是其上StatementResource类提供的RESTful服务生成的。
2、Worker服务进程每隔一定时间都会向Coordinator上的RESTful服务发送心跳,告知Coordinator我还活着,并接受你调度。
3、当你需要某种Connector访问特定数据源,需要在$PRESTO_HOME/etc/catalog/中创建.properties配置文件,并配置必要属性:connector.name。
4、Statement:输入的SQL语句,将语句(Statement)和查询(Query)分开,两者本身就是不同概念。
5、Query:一个查询执行代表presto集群中运行的查询,是由运行在各个Worker上且各自之间相互关联的阶段(Stage)组成。
6、一个查询执行由Stage、Task、Driver、Split、Operator和DataSource组成。
7、Stage:presto会将一个Query拆分成具有层级关系的多个Stage,一个Stage就代表查询执行计划的一部分;每个Stage都有个Root Stage,该Stage用于聚集所有其他Stage的输出数据,并将最终数据反馈给客户端;每个Stage都会有输入和输出(除了Single/Root Stage和Source Stage),都会从上游Stage读取数据,将产生结果输出给下游Stage;Source Stage没有上游Stage,从Connector获取数据,Single Stage没有下游Stage,直接将结果输送给Coordinator。
8、Stage分类:Coordinator_Only这种类型Stage用于执行DDL或DML语句中最终表结构创建或者更改;Single这种类型聚合Stage输出数据,并将最终数据输出给终端用户;Fixed用于接受其子Stage产生的数据并在集群中对这些数据进行分布式聚合或分组计算;Source这种用于直接连接数据源,读取数据,该阶段也会根据presto对查询执行计划的优化完成相关断言下发和条件过滤等。
9、Exchange:完成上下游间Stage的数据交换,生成数据的Stage通过名为Output Buffer的Exchange将数据传送给其下游的Stage,消费数据的Stage通过名为Exchange Client的Exchange从上游Stage读取数据;若当前为Source Stage,那该Stage直接通过相应Connector从数据源读取数据,通过名为Source Operator的Operator与Connector进行交互。
10、Task:Stage在逻辑上又被分为一系列Task,真正运行在各个Worker节点上,每个Task处理一个或多个Split;一个Stage被分解为多个Task,并行执行一个Stage,一个Task可以被分解为一个或多个Driver,并行执行一个Task。
11、Driver:一个Task包含一个或多个Drier,一个Driver其实就是作用于一个Split的一系列Operator集合,一个Driver用于处理一个Split并生成输出,这些输出由Task收集并且传送给其下游Stage中的一个Task,一个Driver有一个输入和一个输出。
12、Operator:一个Operator代表对一个Split的一种操作,每个Operator均会以Page为最小处理单位分别读取输入和产生输出数据,Operator每次只会读取一个Page对象,产生一个Page对象。
13、Split:分片,一个分片就是大的数据集中的一个小数据集,而Driver则是作用于一个分片上的一系列操作集合,而每个节点上运行的Task,又包含多个Driver,从而一个Task可以处理多个Split,其中每一种操作均由一个Operator表示;当presto执行一个查询的时候,首先会从Coordinator得到一个表对应的所有Split,然后presto就会根据查询执行计划,选择合适的节点运行相应的Task处理Split。
14、Page:最小数据单元,一个Page包含多个Block,每个Block是一个字节数组,存储一个字段若干行,多个Block横切的一行是真实的一行数据,一个Page最大1MB,最多16×1024行数据。


图1 presto执行查询模型关系

15、presto执行查询步骤:(1)客户端通过HTTP协议发送一个查询语句给presto集群的Coordinator;(2)Coordinator接到客户端传递过来的查询语句,会对该查询语句进行解析,生成查询执行计划,并根据查询执行计划依次生成SQLQueryExecution、SQLStageExecution、HttpRemoteTask,Coordinator会根据数据本地性生成对应的HttpRemoteTask;(3)Coordinator将每个Task都分发到其所需要处理的数据所在Worker上进行执行,这个过程是通过HttpRemoteTask中的HttpClient将创建或者更新Task的请求发送给数据所在节点上TaskResource所提供的RESTful接口,TaskResource接收到请求之后最终会在对应的Worker上启动一个SqlTaskExecution对象或者更新对应的SqlTaskExecution对象需要处理的Split;(4)执行处于上游Source Stage中的Task,这些Task通过Connector从数据源中读取所需要的数据;(5)处于下游Stage的Task会读取上游Stage产生的输出结果,并在该Stage每个Task所在Worker的内存中进行后续的计算和处理;(6)Coordinator从分发Task之后,就会一直持续不断地从Single Stage中的Task获取计算结果,并将结果缓存到Buffer中,直到所有计算结束;(7)Client从提交查询语句之后,就会不停地从Coordinator中获取本次查询的计算结果,直到获得了所有的计算结果,并不是等到所有的查询结果都产生完毕之后一次全部显示出来,而是每产生一部分,直到所有的查询结果都显示完毕。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,100评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,308评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,718评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,275评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,376评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,454评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,464评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,248评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,686评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,974评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,150评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,817评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,484评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,140评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,374评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,012评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,041评论 2 351

推荐阅读更多精彩内容