当前位置: 首页 > news >正文

广州景点排行榜前十名全网搜索引擎优化

广州景点排行榜前十名,全网搜索引擎优化,天河网站建设信科网络,如何建一个购物网站文章目录 前言Operator Model And Iterator Model系统组成Connector数据模型查询执行模型StatementStageTaskSplitDriverOperatorExchangePipeLine 总结 前言 Presto#xff08;PrestoDB#xff09;是一个FaceBook开源的分布式MPP SQL引擎#xff0c;旨在处理大规模数据的查… 文章目录 前言Operator Model And Iterator Model系统组成Connector数据模型查询执行模型StatementStageTaskSplitDriverOperatorExchangePipeLine 总结 前言 PrestoPrestoDB是一个FaceBook开源的分布式MPP SQL引擎旨在处理大规模数据的查询和分析问题。传统数据库系统(eg:Hive)在面对大规模数据和复杂查询需求时存在限制如数据规模限制、查询速度慢、数据源集成困难等问题。 本文主要介绍下Presto基本的核心概念。 Operator Model And Iterator Model MPP核心的迭代器模型操作模块化执行计划等模型与实现框架设计可参考最早的1995年Goetz Graefe发布的encapsulation-volcano论文 http://daslab.seas.harvard.edu/reading-group/papers/encapsulation-volcano.pdf 论文中首次提出了一种并行SQL的设计即通过各种Operator如TableScan、Project、Filter、Aggregate、Exchange、Join等组成一棵树树的根节点产生SQL输出树的叶子节点是各种TableScan数据从叶子节点流入一步步被加工直至产生最终结果。这个模型称为Operator Model这棵树我们称之为执行计划Plan在传统数据库里又分为逻辑计划和物理计划。 在Operator Model执行的过程中各节点有三种基本状态或者说要实现三个接口Open、GetNext、Close。父节点的接口调用一般会递归调用子节点对应的接口。SQL执行时就从根节点Open开始然后不断调其GetNext接口得到一行输出后续演变为得到RowBatch直到没有结果为止最后调Close。这个模型称为Iterator Model。 系统组成 Presto是典型的M/S架构的系统由一个Coordinator节点和多个Worker节点组成。 Coordinator负责如下工作 ● 接收用户查询请求解析并生成执行计划下发Worker节点执行。 ● 监控Worker节点运行状态各个Worker节点与Coordinator节点保持心跳连接汇报节点状态。 ● 维护MetaStore数据。 Worker节点负责执行下发到任务通过连接器读取外部存储系统到数据进行处理并将处理结果发送给Coordinator节点。 Presto最初不支持高可用架构, 后面FaceBook提出了一个新的设计一个分解的协调器disaggregated coordinator允许 coordinator 在单个 workers pool 中横向扩展。 Connector Presto通过内置的各种Connector来接入多种外部数据源。Presto提供了一套标准的SPI接口您可以使用这套接口开发自己的Connector以便访问自定义的数据源。 通常一个Catalog会绑定一种类型的Connector并在Catalog的Properties文件中进行设置。 数据模型 数据模型即数据的组织形式。Presto使用Catalog、Schema和Table三层结构来管理数据。 ● Catalog一个Catalog可以包含多个Schema物理上指向一个外部数据源可以通过Connector访问该数据源。一次查询可以访问一个或多个Catalog。 ● Schema相当于一个数据库实例一个Schema包含多张数据表。 ● Table数据表与一般意义上的数据库表相同。 查询执行模型 Presto执行SQL语句并将这些语句转换为coordinators和workers的分布式集群执行的查询。 Statement Presto执行ANSI兼容的SQL语句该标准由子句、表达式和谓词组成。 Query 解析一条语句时它将其转换为一个查询并创建一个分布式查询计划然后将其实现为在Presto worker上运行的一系列相互连接的阶段。语句和查询之间的区别很简单。一条语句可以被认为是传递给Presto的SQL文本(Statement)而查询则是指为执行该语句而实例化的配置、组件、查询执行计划和优化信息等。一个查询执行包括Stage、Task、Driver、Split、Operator、DataSource组成这些组件之间通过内部联系共同组成一个查询执行从而得到SQL语句表述的查询并得到相应的结果集。 Stage Presto执行查询时通过将执行分解为阶段层次结构来执行。例如需要聚合Hive中存储的十亿行的数据它会创建一个根阶段来聚合其他几个阶段的输出所有这些阶段都是为了实现分布式查询计划的不同部分而设计的。组成查询的阶段层次结构类似于树。每个查询都有一个根阶段负责聚合来自其他阶段的输出。阶段是协调器用来建模分布式查询计划但是阶段本身并不在Presto worker上运行。 Presto 中Stage共分为4种 Coordinator_Only: 用于执行DDL或者DML语句中最终的表结构创建或者更改Single: 用于聚合子Stage的输出是数据并将最终数据输出给终端用户Fixed: 用于接受其子Stage产生的数据并在集群中对这些数据进行分布式的聚合或者分组计算Source: 用于直接连接数据源从数据源读取数据在读取数据的时候该阶段也会根据Presto对查询计划执行的优化完成相关的断言下发Predicate PushDown和条件过滤 按照数据的流向我们可以约定越靠近数据源的Stage越处于上游越远离数据源的Stage越处于下游 create table xxx as select Task Stage对分布式查询计划的特定部分建模但Stage本身并不在Presto Worker上执行。Task是Presto体系结构中的工作项因为分布式查询计划被分解为一系列Stage然后转换为Task然后这些Task作用于或处理Split。Presto Task有输入和输出就像一个Stage可以由一系列Task并行执行一样一个Task也可以与一系列驱动程序并行执行。 Split Split分片一个分片其实就是一个大的数据集中的一个小的子集Driver是作用于一个分片上的一系列操作的集合而每个节点上运行的Task,又包含多个Driver,从而一个Task可以处理多个Split。当Presto执行一个查询时首先会从Coordinator得到一个表对应的所有的Split,然后Presto就会根据查询执行计划选择合适的节点运行响应的task处理Split。 这里来看下在HiveConnector中HiveSplit的定义 Driver Task包含一个或多个并行Driver。Driver作用于数据并结合Operator以产生输出然后由一个Task聚合然后交付给另一个Stage的另一个Task。Driver是操作符实例的序列它是Presto体系结构中并行度的最低级别。Driver有一个输入和一个输出。 Operator Operator过滤、加权、消费、转换和生成数据。例如TableScan从Connector获取数据并生成可被其他Operator使用的数据筛选Opertaor使用数据并通过对输入数据应用谓词来生成子集。 Exchange 交换在Presto节点之间为查询的不同阶段传输数据。任务将数据生成到输出缓冲区并使用交换客户机使用来自其他任务的数据。 PipeLine 每个Task执行一个Stage的逻辑也可以说就是执行一个PlanFragment里的Operator这些Operator的最佳并行度可能是不同的。比如说做Tablescan的并发可以很大但做Final Aggregation如Sort的并发度只能是一。基于这个考虑一个PlanFragment又会被切分为若干Pipeline每个Pipeline由一组Operator组成这些Operator被设置同样的并行度。Pipeline之间会通过LocalExchangeOperator来传递数据。 在Presto的Web UI里可以看到下面的Pipeline图。Driver的数目就是这个Pipeline的并行度。 总结 如图 Presto的一次执行查询会被分解为多个Stage, Stage之间具有依赖关系每个Stage由一列的Task组成每个Stage的task被均分为在每个worker上并行执行每个Task又由多个Driver组成每个Driver只能处理一个Split, 且每个Driver由一系列前后相连的operator组成每个Operator都代表对于一个Split的操作
http://www.sczhlp.com/news/205929/

相关文章:

  • 深圳网站设计收费西地那非片的功效和副作用
  • 2025年塑料托盘厂家推荐排行榜,网格川字/九脚/田字/双面/平板/吹塑/注塑/焊接/印刷/组装款/高矮脚/反川字/立体库托盘公司精选
  • 因果分布变化解释方法解析
  • OAuth/OpenID Connect 渗透测试完整指南
  • 数字化ERP“一图四清单”战略执行体系 - 智慧园区
  • 内蒙古网站建设做一个网站完整的网页
  • 云南网站开发公司介绍海西州住房建设局网站
  • seo网站课程wordpress培训模板下载
  • 北京哪里可以做网站wordpress写简历
  • 微信网站如何做seo怎么学在哪里学
  • 个人备案经营网站wordpress问答插件哪个好
  • 网站有几种类型如何简单制作自己的网站
  • php网站开发实例教程作业山东网站营销优化开发
  • 中小网站 广告费seo是干什么的
  • 网易严选的网站建设织梦网站怎么做模板
  • 网站网页设计案例手工网站怎样做三角包
  • 怎么做网站的学校的大图专业模板建站软件
  • 连州网站建设互联网相关网站
  • 做交易网站需要用到的软件有哪些企业网站管理系统如何使用说明
  • 谷歌seo排名优化服务岳阳seo优化
  • 专业做图表的网站无域名建网站
  • 网站设计与规划网站建设施工图片
  • 网站建设属于什么合同a站下载
  • 给朋友做的相册网站没有了做国际网站需要多少钱
  • 怎么做考试资料分享网站wordpress 类似
  • 短视频网站php源码免费注册公司流程和费用 知乎
  • 昌邑网站设计营销软件大全
  • 花市小说网站那里进网络彩票网站建设多少钱
  • 不用模板 网站南京市公共工程建设 中心网站
  • 网站建设公司果动商务网站创建经费预算