这篇文章给大家分享的是有关大数据查询引擎Presto的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
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中被解析为表中的一行数据。
感谢各位的阅读!关于“大数据查询引擎Presto的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。