主页 > 新闻资讯 > 大数据学习:大数据查询引擎Presto简介

大数据学习:大数据查询引擎Presto简介

作者:张老师 浏览次数: 2021-01-19 16:36
大数据,从实际意义上来说,最初指的就是海量的数据集,这些数据当中包含有深层次的价值线索,但是需要基于相应的分析处理或者是价值挖掘,下一步才能将价值变现。而在大数据分析挖掘当中,数据查询引擎无疑是非常关键的。今天的大数据学习分享,我们来讲讲大数据查询引擎Presto。

大数据学习:大数据查询引擎Presto简介

Presto简介

Presto是Facebook开源的大数据分布式SQL查询引擎,可对从数G到数P的大数据进行交互式的查询,查询的速度达到商业数据仓库的级别。支持查询包括Hive、Cassandra以及某些商业的数据存储产品。单个Presto查询可合并来自多个数据源的数据进行统一分析。Presto不使用MapReduce,只需要HDFS。

Facebook在内部已经在多个数据存储中使用Presto交互式查询,包括300PB的数据仓库,超过1000个Facebook员工每天在使用Presto运行超过3万个查询,每天扫描超过1PB的数据。Airbnb和Dropbox目前也在使用Presto产品。

Presto优势

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

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

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

大数据学习:大数据查询引擎Presto简介

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,以上就为大家做了简单的介绍了。作为大数据查询的重要组件之一,Presto也是在市场上占有相应的位置的,作为大数据从业者,应有相应程度的了解。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频可联系客服领取!
热点排行
推荐文章
立即申请>>