前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据查询引擎Presto

大数据查询引擎Presto

作者头像
凹谷
发布2020-04-11 10:50:30
1.4K0
发布2020-04-11 10:50:30
举报

欲戴王冠,必承其重。

Presto设计精巧,可以处理海量数据,最大化地利用硬件性能,计算全部在内存中完成,很好的利用高速网络来进行数据调度。性能基本上是Hive的10倍。

支持直接使用presto-jdbc驱动完成Java应用程序开发。

Presto集群中的数据传输、节点通信、心跳感应、计算监控、计算调度和计算分布全部都是基于RESTful服务实现的,因此Presto中的RESTful服务就是Presto所有服务的基石。

Presto客户端对查询语句的提交流程:

1、从指定文件、命令行参数或者Cli窗口中获取需要执行的SQL语句

2、将得到的SQL语句组装成一个RESTful请求,发送给Coordinator,并处理返回的response。

3、Cli 会不停地循环分批读取查询结果并在屏幕进行动态显示,直到查询结果完全显示完毕。

向Presto集群提交一个查询,其整个过程会经历4个阶段:

1、提交查询:客户端向Coordinator提供的RESTful服务提交SQL语句

2、生成查询执行计划:Coordinator根据传递的SQL语句生成响应的查询执行计划

3、查询调度:Coordinator根据生成的查询执行计划,依次进行Stage和Task调度。

4、查询执行:最终Coordinator会调度最空闲的Worker执行相应的Task进行实际计算任务。

Presto队列是用于控制查询并发量和可接收的SQL数量,可针对用户、提交来源、Session等信息进行个性化配置。

Presto支持众多数据源Connector,最常用的为Hive Connector。

Hive Connector 使用Hive的元数据,Coordinator节点通过Hive Metastore加载元数据,Presto的计算节点读取Hive表对应的HDFS数据。

Kafka Connector 支持Apache Kafka 0.8及以上版本,将Apache Kafka 中的topics 当作表进行处理,topics中每条消息在Presto中被解析为表中的一行数据。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与微服务架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档