初识Presto

作者: 三点水滴 | 来源:发表于2019-03-13 07:40 被阅读29次

概述

        Presto是一个分布式SQL查询引擎,它被设计专门用于进行高速、实时的数据分析。它支持标准的ANSI SQL,包括复杂查询、聚合(Aggregation)、连接(Join)和窗口函数(Window function)。

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

        相比Druid,Presto主要是解决SQL查询引擎的问题,将SQL查询转换成分布式任务,快速到数据存储区获得必要的数据,并且返回结果。它并不直接去优化存储结构,而是直接访问HDFS或者其他数据存储层。

架构

初识Presto

        在上面的架构图中可以看出,Coordinator负责与客户端交互,发现Worker节点并协调相应的查询任务。

节点类型

1. Coordinator

2. Worker

        Presto通过Coordinator(协调节点)和Worker(工人节点),完成查询任务。Coordinator接收客户端的查询请求,并把查询任务分解到Worker节点完成查询工作,最后汇总结果返回给客户端。

注意

        Presto查询的数据源不在Presto本身的整体架构内,只需要合适的Connector,Presto既可以把传统的关系型数据库作为数据源,也可以把Hadoop和HDFS作为数据源。

相关文章

  • 初识Presto

    概述 Presto是一个分布式SQL查询引擎,它被设计专门用于进行高速、实时的数据分析。它支持标准的ANS...

  • Presto 配置

    Presto架构图 下载presto-server-317.tar.gz解压到/opt/app/presto-se...

  • presto jdbc java

    com.facebook.presto presto...

  • 目录

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

  • Presto源码分析之Slice

    Slice是Presto里面用来对内存高效地、自由地进行操作的接口。它在Presto里面很关键, Presto里面...

  • presto 的安装与使用

    相关说明: Presto官网: Presto | Distributed SQL Query Engine for...

  • Presto参考

    0.zepplin中使用presto 1.presto正则表达式 2.解析json 3.presto时间 4.pr...

  • presto 连接hive

    修改hive-site.xml增加 启动 presto配置 启动presto服务 连接测试

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

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

  • Presto中的插件

    插件 了解了presto的数据模型,就可以给presto编写插件,来对接自己的存储系统。presto提供了一套co...

网友评论

    本文标题:初识Presto

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