美文网首页
Presto-交互式计算引擎

Presto-交互式计算引擎

作者: 一个喜欢烧砖的人 | 来源:发表于2018-09-23 10:09 被阅读136次

    交互式处理

    • 交互式处理是操作人员和系统之间存在交互作用的信息处理方式,操作人员通过终端设备输入信息和操作命令,系统刚接到后立即处理,并通过终端设备显示处理结果。
    • 为了实现高性能数据处理,交互式极端引擎采用mmp架构,并将充分使用内存加速
    • presto的出现时为了应对hadoop的一些缺点:
      1、io密集,因为mepreduce作业之间的交互是用hdfs作为中介的
      2、任务调度大,因为是分布式的,每个jave都需要一个java虚拟机
      3、无法利用内存
      4、map和reduce都需要排序,这样就有很多弊端

    交互式查询引擎分类

    • ROLAP(impala、presto)
      基于关系数据库的
    • MOLAP(druid、kylin)
      基于多维数据库的
    • HOLAP
      基于混合组织数据库的

    presto的介绍

    • presto是facebook开源的交互式计算引擎
    • 能处理tb甚至pb级别的数据
    • 因为prosto能和hive进行无缝连接,所以成为了非常主流的olap引擎

    presto的基本架构

    presto查询引擎是一个master-slave的架构,由一个coordinator的服务,一个discover server服务,多个worker服务

    • coordinator:
      协调者,接收客户端查询查询请求(sql)并对其进行词法分析,语法分析,生成逻辑查询计划以及物理查询计划后,将各个任务调度到worker上去,在worker结果返回之前并对其汇总
    • discovery server:服务发现组件,各个work启动时会向discovery server注册,并将状态信息定期汇报给diecovery server没这样coordinator就会从siecovery server 获取各个worker的工作列表,discovery server是一个轻量级服务,一般嵌在coordinator中
    • worker:任务执行者接收来自zoordinator的任务,利用多线程的方式并行,应将结果发送个coordinator,
      presto是一个分布式的查询引擎,并不提供数据的储存服务,为此,presto是一个插拔式的设计思路,支持多种数据源,包括hive,hdfs,mysql,等

    相关文章

      网友评论

          本文标题:Presto-交互式计算引擎

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