美文网首页大数据
presto提交查询

presto提交查询

作者: 翠花上酸奶 | 来源:发表于2018-09-05 15:02 被阅读5次

提交查询的步骤

1、获取SQL

2、发送restful请求给coordinator,并返回结果

3、cli循环分批读取查询结果并显示

源码解析

CLI客户端启动类就Presto  main 方法  彩蛋  如果启动presto CLI 的时候有 --version or --help 将提示帮助信息

否则调用Console.run()  会生成一个查询执行包装类QueryRunner,后续的启动和执行都是通过该类

启动presto CLI时,如果指定了 --execute or --file 读取SQL 否则在CLI端输入SQL

SQL语句的提交和执行通过QueryRunner的 executeCommand方法, 其中 QueryRunner.startQuery初始执行,通过Query.renderOutput循环发送restful请求分批获取查询结果。

startQuery 中new statementClient对象,构建Request(通过session中的server值 即为coordinator的URI,进而将SQL以restful请求发送给coordinator 通过statementResource类) 并接收response

renderOutput  会根据interactive标识决定是否实时更新数据,如果距离上次更新超过0.5s 则更新。不管是否实时更新都会调用client.advance(),改方法通过coordinator返回的nextResultUri向coordinator继续发请求,来分批获得查询结果

提交查询的流程

client发请求给coordinator ,coordinator返回结果和nextResultUri,如果没有结果了结束,如果nextResultUri不为空继续发请求给coordinator。

相关文章

  • presto提交查询

    提交查询的步骤 1、获取SQL 2、发送restful请求给coordinator,并返回结果 3、cli循环分批...

  • Presto 架构

    Presto Server Coordinator担当 Master 角色,负责解析 SQL,生成查询计划,提交查...

  • OLAP引擎:基于Presto组件进行跨数据源分析

    一、Presto概述 1、Presto简介 Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数...

  • Presto统计信息

    表统计 Presto支持基于统计的查询优化。为了使查询能够利用这些优化,Presto必须具有该查询中表的统计信息。...

  • 目录

    基于presto0.155,以一条主线 : cli查询presto+hive返回 一、cli与presto通信机制...

  • Presto Web UI

    Presto Web UI 可以用来检查和监控Presto集群,以及运行的查询。他所提供的关于查询的详细信息可以...

  • Presto介绍,使用及安装部署

    1.Presto是什么 Presto通过使用分布式查询,可以快速高效的完成海量数据的查询。如果你需要处理TB或者P...

  • PrestoDB (一)

    写在前面 Presto不是数据库,定位是查询引擎 通过分布式查询,Presto不仅仅可以访问HDFS,也可以访问其...

  • Presto查询优化

    我的CSDN: http://blog.csdn.net/FreeFishLy/article/details/7...

  • presto安装配置,及连接mysql、hive、elastic

    0、前言 Presto是分布式SQL查询引擎,基于内存的并⾏计算,用来专门处理高速,实时的数据分析。Presto本...

网友评论

    本文标题:presto提交查询

    本文链接:https://www.haomeiwen.com/subject/zvagdftx.html