大数据分布式查询引擎--presto

一.名词解释:

  • Coordinator:

Presto主角色,单一节点,负责接受客户端请求,SQL语句解析,生成执行计划,管理worker节点;

  • Worker:

presto实际处理处理运行任务的节点,从数据源获取数据,处理并互相数据,被coordinator调度;

将结果返回给coordinator,启动后通过心跳和coordinator中的discovery server保持连接。

  • Connector:

SPI接口的实现,(SPI为适配所有数据源的统一接口规范),以有多种connector的实现,

包括hive,mysql,redis,kudu,kafka,monodb等等

  • Catalog:

数据源配置,每个一个数据源配置一个catalog,通过connector连接catalog;

  • Schema:

一系列表的组合,等同于database的概念;

  • Table:

等同于表的概念,因此presto访问一个表的全限定为 select * from catalog.schema.tablename;

  • Statement:

客户端提交的ANSI SQL语句,单纯只文本内容;

  • Query:

query为解析sql之后的执行计划,包含stage,tasks,splits,connectors等执行sql必要的组件的组合;

  • Stage:

Presto将执行计划逻辑上拆分为多个层次的stage,呈现树状结构,包含single stage(顶层聚合,返回结果给coordinator),fixed stages (中间计算) ,

source stages(数据scan,读取数据源),stage拆分成多个task并行执行;

  • Task:

并行运行在worker上的任务,包含输入输出,每个stage拆分为多个task,可以并行执行;

  • Split:

Task运行依赖的数据分片,每个task处理一个或多个split;

  • Driver:

split上一系列操作的集合,一个driver处理一个split,拥有输入输出;

  • Operator:

对split的一个操作,比如过滤,加权,转换等等;

  • Exchange:

完成tasks之间的数据交换;

二.架构设计

在这里插入图片描述
presto为纯内存大数据并行查询引擎,不同于hive的mapreduce在数据处理过程中经过多次磁盘IO,presto几乎完全内存计算,包括节点内部过滤聚合等的操作,以及节点之间的数据交换 。presto设计为主从模式的架构,coordinator为主节点,负责接受客户端请求,SQL语句解析,生成执行计划,管理worker节点。worker为从节点,实际执行查询任务的节点,支持横向扩展。worker在启动之后,像节点信息注册到Discovery Service,并通过心跳服务保持链接,汇报健康状态,coordinat

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值