Presto,来自Facebook的开源分布式查询引擎

E-MapReduce产品的最新版本2.0.0现在支持Presto了,使用指南。本文主要介绍一下什么是Preosto。

Presto是一个分布式SQL查询引擎, 它被设计用来进行高速、实时的数据分析。它支持标准的ANSI SQL,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(window functions)。下图中展现了简化的Presto系统架构。客户端(client)将SQL查询发送到Presto的控制器 (coordinator)。控制器会进行语法检查、分析和规划查询计划。调度(scheduler)将执行的管道组合在一起, 将任务分配给那些离数据最近的节点(一般都是有数据的节点),然后监控执行过程。 客户端从输出端中将数据取出,这些数据是从更底层的处理端中依次取出的。



Presto的运行模型和Hive或MapReduce有着本质的区别。Hive将查询翻译成多阶段的MapReduce任务,一个接着一个地运行。每一个任务从磁盘上读取输入数据并且将中间结果保存到磁盘上。Presto引擎没有使用MapReduce,它使用了一个定制的查询和执行引擎,以及相应的操作符来支持SQL的语法。除了读取数据之外,所有的数据处理都是在内存中进行的。不同的处理端通过网络组成处理的流水线, 这样会避免不必要的磁盘读写和延迟。这种流水线式的执行模型会在同一时间运行多个数据处理,一旦数据可用的时候就会将数据从一个处理器传入到下一 个处理器。这样的方式会大大的减少各种查询的端到端响应时间。



Presto查询引擎是一个Master-Slave的架构,由一个Coordinator节点,一个Discovery Server节点,多个Worker节点组成,Discovery Server通常内嵌于Coordinator节点中。Coordinator负责解析SQL语句,生成执行计划,分发执行任务给Worker节点执行。 Worker节点负责实际执行查询任务。Worker节点启动后向Discovery Server服务注册,Coordinator从Discovery Server获得可以正常工作的Worker节点。如果配置了Hive Connector,需要配置一个Hive MetaStore服务为Presto提供Hive元信息,根据元信息Worker节点与HDFS交互读取数据。

Presto特点:

  • 完全基于内存的并行计算
  • 流水线
  • 本地化计算
  • 动态编译执行计划
  • 使用内存和数据结构
  • 类BlinkDB的近似查询
  • GC控制

参考资料

时间: 2024-11-03 21:09:47

Presto,来自Facebook的开源分布式查询引擎的相关文章

Facebook 正式开源其大数据查询引擎 Presto

Facebook 正式宣布开源 Presto -- 数据查询引擎,可对250PB以上的数据进行快速地交互式分析.该项目始于 2012 年秋季开始开发,目前该项目已经在超过 1000 名 http://www.aliyun.com/zixun/aggregation/1560.html">Facebook 雇员中使用,运行超过 30000 个查询,每日数据在 1PB 级别.Facebook 称 Presto 的性能比诸如 Hive 和 Map*Reduce 要好上 10 倍有多. Prest

Presto 0.175 发布,Facebook 大数据查询引擎

Presto 0.175 发布了,Presto 是 Facebook 开源的数据查询引擎,可对250PB以上的数据进行快速地交互式分析,查询的速度达到商业数据仓库的级别.据称该引擎的性能是 Hive 的 10 倍以上. Presto 可以查询包括 Hive.Cassandra 甚至是一些商业的数据存储产品.单个 Presto 查询可合并来自多个数据源的数据进行统一分析. 部分更新如下: 将 mongodb.connection-per-host 配置选项重命名为 mongodb.connecti

Presto 0.179 发布,Facebook 大数据查询引擎

Presto 0.179 已发布,Presto 是 Facebook 开源的数据查询引擎,可对250PB以上的数据进行快速地交互式分析,查询的速度达到商业数据仓库的级别.据称该引擎的性能是 Hive 的 10 倍以上. Presto 可以查询包括 Hive.Cassandra 甚至是一些商业的数据存储产品.单个 Presto 查询可合并来自多个数据源的数据进行统一分析. 更新内容: 新增基于文件的全局安全性,可以使用 "etc / access-control.properties"

Apache Eagle:eBay开源分布式实时Hadoop数据安全引擎

日前,eBay公司隆重宣布正式向开源业界推出分布式实时安全监控方案:Apache Eagle,该项目已于2015年10月26日正式加入Apache基金会成为孵化器项目. http://goeagle.io  Apache Eagle提供一套高效分布式的流式策略引擎,具有高实时.可伸缩.易扩展.交互友好等特点,同时集成机器学习对历史模型训练建立用户画像以实现智能实时地保护Hadoop生态系统中大数据的安全. Eagle在eBay的使用场景 目前,Eagle的数据行为监控系统已经部署到一个拥有250

SK电信试水SQL-on-Hadoop开源查询引擎Tajo

一款全新的Hadoop SQL数据库查询引擎http://www.aliyun.com/zixun/aggregation/14417.html">Apache Tajo近日赢得了韩国电信运营商SK电信的青睐. SK电信数据科技实验室的高级经理Geun-tae Park表示: 在广泛调研当前可用的数据分析技术后,我们发现Apache孵化项目Tajo能够实现在Hadoop系统快速进行大规模分析处理,能够更好地分析我们的海量电信运营数据. Park还透露,随着SK电信在开源领域的人力资源和技术

13 款开源的全文检索引擎

1.&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; Lucene Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构.另外它不支持实时搜索,但linkedin和twitter有分别对Lucene改进的实时搜素. 其中Lucene

大众点评开源分布式监控平台 CAT 深度剖析

一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报表.自2014年开源以来,CAT在携程.陆金所.猎聘网.找钢网等多家互联网公司生产环境应用. CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,基本接入了美团点评上海侧所有核心应用.目前在中间件(MVC.RPC.数据库.缓存等)框架中得到广泛应用,为美团点评各业务线提供系统的性能指

【双11背后的技术】万亿级数据洪峰下的分布式消息引擎

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:冯嘉.誓嘉.尘央.牟羽  前言 通过简单回顾阿里中间件(Aliware)消息引擎的发展史,本文开篇于双11消息引擎面临的低延迟挑战,通过经典的应用场景阐述可能会面临的问题 - 响应慢,雪崩,用户体验差,继而交易下跌.为了应对这些不可控的洪峰数据,中间件团队通过大量研究和实践,推出了低延迟高可用解决方案,在分布式存储领域具有一定的普适性.在此

万亿级数据洪峰下的分布式消息引擎

前言 通过简单回顾阿里中间件(Aliware)消息引擎的发展史,本文开篇于双11消息引擎面临的低延迟挑战,通过经典的应用场景阐述可能会面临的问题 - 响应慢,雪崩,用户体验差,继而交易下跌.为了应对这些不可控的洪峰数据,中间件团队通过大量研究和实践,推出了低延迟高可用解决方案,在分布式存储领域具有一定的普适性.在此基础上,通过对现有有限资源的规划,又推出了分级的容量保障策略,通过限流.降级,甚至熔断技术,能够有效保障重点业务的高吞吐,成功的支撑集团包括海外业务平缓舒畅地度过双11高峰.与此同时,