trino(prestoSQL 329)文档 - 1.概览

2023-10-21 04:38

本文主要是介绍trino(prestoSQL 329)文档 - 1.概览,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概览

  • 1.1 使用案例
    • Prosto 不能做什么
    • Presto可以做什么
  • 1.2 Presto概念
    • 介绍
    • Server类型
      • Coordinator
      • worker
    • 数据源
      • Connector
      • Catalog
      • Schema
      • Table
    • 查询模型
      • Statement
      • Query
      • Stage
      • Task
      • split
      • Driver
    • Operator
      • Exchange

Presto 是一个分布SQL查询引擎,设计用来查询大的分布式数据集,分布在一个或更多不同总类的数据源.

1.1 使用案例

这节全面介绍Presto,这样潜在的管理员和用户知道可以在Presto得到什么期待.

Prosto 不能做什么

至从Presto被社区很多成员称为数据库,这是有意义的开始定义Presto不是什么.

不要误解事实上Presto 解决SQL用用它提供标准数据库的特性. Presto并不是一般用途的关系型数据库.它不能代替数据库位置,像MySQL, PostgreSQL 或Oracle. Presto不是被设计处理OTPL. 对于很多其它为数仓或分析设计的数据库总是这样.

Presto可以做什么

Presto是一个工具,设计用来使用分布式查询大量数据.如果你工具TB或PB的数据,你可能使用工具来与Hadoop和HDSF交互. Presto被设计作为另外选择工具,查询HDFS使用MapReduce管理任务,像Hive或Pig, 但是Presto 没有限制访问HDFS. Presto可以有一个扩展的操作在不同类型的数据源,包含传统关系性数据库和其它数据源像Cassandra.

Presto被设计处理数仓数据和分析:数据分析,聚合大量数据生成报告.这些工作量通常分类到OLAP中.

1.2 Presto概念

介绍

为弄懂Persto,你需要首先了解Persto文档中到处使用术语和概念.

然而这是非常容易了解语句和查询,作为终端用户你应该熟悉这些概念,像stages 和拆分利用Presto来高效执行查询.作为Presto管理者或Presto做贡献者,你应该明白Presto概念怎样stage map到task,和怎样tasks包含一组driver来处理数据.

这部分提供固定定义为遍及Presto核心概念引用,并且这部分是从总体到细节排序.

Server类型

有两种Presto Server: coordinators 和workers.下边区域来解决他们的不同.

Coordinator

Presto coordinator 负责转换语句,设计查询,管理persto工具节点.这是presto安装的大脑,并且 也是一个客户端连接提交执行语句的节点.每个Presto安装一定有一个coordinator 和一个或多个woker.对于开发或测试目的,单独一个Presto实例可以配置来执行两个角色.

coordinator 保持跟踪每一个活着的woker和 协调的执行查询. coordinator 创建一个涉一系列阶段逻辑模型,这样转换为一系列任务运行在集群中worker.

Coordinator与worker交互使用REST API.

worker

Presto worker 在Persto安装中是一个server, 它负责执行任务并且处理数据.工具节点获得数据从connector 和彼此之间交互的中间数据.coordinator负责获得结果从woker并且返回最终结果到client.

当Presto worker处理开始,它通知自己来查找在coordinator上的server,使用它给presto coordinator来执行任务.

worker与其它worker交互并且Presto coordinator使用REST API.

数据源

通过这个文档,你会读到一些术语,像connector, catalog, schema, and table. 这些基础概念覆盖一部分数据源Presto模型并且被下文描述.

Connector

connector 使Presto适用于数据源,像Hive或关系型数据库.你可以想起connector 就想起数据库的driver. 它是Presto SPI的一个实现,允许Presto与资源交互使用标准API.

Persto包含多种内建connectors: JVM connector,系统 connector可以提供访问系统内建表, TPCH connector设计用来服务 TPC-H benchmark 数据.很多第3方开发都 做贡献connector,导致 Presto 访问数据有大量数据源.

每个 catalog 关联一个专用的connector.如果你检查catolog配置文件,你看到每个包含强制属性connector.name,它被catalog 管理使用来创建connector 给catalog. 这是可能的有不至一个catalog 使用相同的connector 来访问两个不同实例相似的数据库.例如,如果你有两个hive集群,你可以配置两个catalog在一个Presto集群,两个都使用hive connector,你查询数据从hive集群中,甚至里边有相同SQL查询.

Catalog

Presto catalog 包含schemas 和引用数据源的connector. 例如你可以配置MX catalog来提供JMX 访问信息通过JMX connector.当你运行在Presto中SQL语句,你运行它在一个或多个catagory.另一个catalogs 怨念Hive catalog来连接hive数据源.

当在Presto中定位table,完整的表名问题从catalog的根开始.如完整的表名hive.test_data.test指向table testtest_data结构在catalog hive中.

Catalogs 定义属性文件保存在Presto 配置目录中.

Schema

Schemas 是组成表的一种方式.同时, catalog 和schema定义一组表可以被查询.当访问 Hive或关系数据库像Mysql用Presto, schema 翻译成相同的概念在目标数据库.connectors 的其它类型可能用选择组织表到schemas,一种对底层数据是有意义的方式.

Table

table是一种没有顺序的行,它可以组织到命名带有类型的列. 和任何关系型数据库相同.数据源到表的映射被定义是通过connector.

查询模型

Presto 查询SQL语句和转变这些语句到查询语句,被执行通过分布集群的coordinator 和workers.

Statement

Presto 执行ANSI兼容的SQL 语句.当Presto文档 指向一个语句 ,它指向语句当定义ANSI标准SQL,由语句,表达式和谓语组成.

一些读者可能好奇为什么这部分列出单独的概念为statements 和查询.这是必要的因为,在Presto中statements 只是指向代表SQL语句的文本.当语句被执行,Presto创建一个查询,伴随一个查询计划,然后分发到一系列worker.

Query

当Presto转换成statement,它转换它为一个查询语句,并且 创建分发查询计划,它然后被实现通过一系列联通的stages运行在Presto worker.当你检索关于Presto中的语句,你可以收到每个组件的快照,它涉及在生成一组结果集来响应statement.

statement 和query中的不同非常简单.statement可以被认为为一个SQL文本,传递给Presto,当查询指向配置并且被实例化组件来执行statement. 查询包含stages,task和split,connector,和其它组件并且数据源工作一致在产生的结果.

Stage

当Presto执行query,它做通过打散执行到一个层级的stage.例如,如果Presto需要聚合数据从十亿行保存到hvie,他做通过创建stage 根到聚合多种不同 输出,所有这些被设计来实现不同区域的分布查询计划.

stages 层级包含查询像树.每个查询有根stage,它负责聚合从其它stage的输出.stage 是coordinator 使用分布式查询计划成模型,但是stage他们自己不运行在Presto worker.

Task

上部分提到的stage模型是分布查询一部分,但是stage他们自己不执行在Presto worker. task是"主力"在Presto架构,作为分布查询计算被解构成一系列stage,它然后被翻译成task,作为或处理split.Presto task有输入和输出,并且当stage可能被执行以并行方式通过一系列tasks,一个任务被执行以并行用一系列driver.

split

Task运行在split上,它是大数据集的一部分. Stage在分布查询计划获取数据的最低级别,通过来至connector的split,并且中间stage在分布查询计划从其它stage上获取数据高级级别.

当Presto安排query, coordinator 查询connector 为一列表可用的split. coordinator 保持跟踪哪台机器运行任务,和被哪一个任务处理来切分.

Driver

任务包含一个或多个并行driver.driver扮演数据和组合operator 生成输出然后被任务聚合,再传递到其它stage的 另外任务. driver 是一系列操作实例,或你可以认为driver作为在内存中物理 组的operator.它是最低级别并行在Presto架构中.drver有一个输入和一个输出.

Operator

Operator 消费,转换和生成数据.例如,表可以扫描获得数据从connector ,并且生产数据,可以被消费通过其它 operator ,并且过滤operator 消费数据并且生成子数据通过输入数据应用预测.

Exchange

Exchange传输数据在 Presto nodes 之间为不同的stage查询.任务生成数据 到输出buffer并且消费数据从其它任务用exchange 客户端.

这篇关于trino(prestoSQL 329)文档 - 1.概览的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/251978

相关文章

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来