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

相关文章

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

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

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Python脚本:TXT文档行数统计

count = 0 #计数变量file_dirs = input('请输入您要统计的文件根路径:')filename = open(file_dirs,'r') #以只读方式打开文件file_contents = filename.read() #读取文档内容到file_contentsfor file_content in file_contents:

bcolz文档

原文:http://bcolz.blosc.org/en/latest/reference.html First level variables bcolz.__version__'''bcolz包的版本。''' bcolz.dask_here'''是否检测到dask的最低版本。''' bcolz.min_dask_version'''需要dask的最低版本(dask是可选

WordPress开发中常用的工具或api文档

http://php.net/ http://httpd.apache.org/ https://wordpress.org/ https://cn.wordpress.org/ https://core.svn.wordpress.org/ zh-cn:开发者文档: https://codex.wordpress.org/zh-cn:%E5%BC%80%E5%8F%91%E8%80%

Python知识点:使用Python进行PDF文档处理

使用 Python 进行 PDF 文档处理可以通过多种库来实现,包括 PyPDF2、pdfplumber、reportlab、pdfminer 等。这些库可以处理不同的 PDF 任务,例如 提取文本、拆分合并 PDF、修改 PDF、生成 PDF 等。以下是几种常见操作及对应的库和代码示例。 1. 安装常用库 首先,安装常用的 PDF 处理库: pip install PyPDF2 pdfpl

【2025】基于Python的空气质量综合分析系统的设计与实现(源码+文档+调试+答疑)

博主介绍:     ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。 技术范围:     我熟悉的技术领域涵盖SpringBoot、Vue、SSM、HLMT

自动化表格处理的革命:智能文档系统技术解析

在当今数据驱动的商业环境中,表格数据的自动化处理成为了企业提高效率、降低成本的关键。企业智能文档系统在智能表格识别方面展现出卓越的性能,通过精准识别和处理各种通用表格,显著提升了企业文档管理的智能化水平。本文将深入探讨该系统在表格识别方面的关键技术和应用优势,以及如何通过行业定制化服务满足不同行业的需求。 1. 通用表格识别 智能文档系统通过先进的OCR技术和表格结构识别算法,能够精准

MongoDB学习—(4)文档的插入,删除与更新

一,文档的插入 插入命令有两个一个为insert,另一个为save,两者的区别为 db.[documentName].insert({..})插入的数据不允许重复,即_id不可相同 db.[docuemntName].save({..})插入的数据允许重复,如果整条数据内容相同,则不发生替换,如果数据有做不同,则将原数据替换 二,删除文档数据 db.[docuementName].r

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景