Presto/Trino
文章平均质量分 66
Presto/Trino基本使用和原理解析
Bulut0907
大数据、机器学习、编程语言、IT相关技术分享, 喜欢请关注、点赞、收藏哦!
展开
-
Trino Connector连接器集成各种数据库(Clickhouse、Kudu)
在所有Trino服务的etc/catalog目录下,新建配置文件clickhouse.properties,内容如下然后重启所有Trino服务。原创 2023-01-28 09:36:06 · 1464 阅读 · 0 评论 -
Presto CLI客户端的安装和使用
目录1. 客户端安装和使用1. 客户端安装和使用下载,然后重命名,最后赋予执行权限[root@bigdata002 opt]# wget https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.272/presto-cli-0.272-executable.jar[root@bigdata002 opt]#[root@bigdata002 opt]# mv presto-cli-0.272-executable.jar pre原创 2022-07-04 09:00:52 · 1481 阅读 · 0 评论 -
在Centos7上进行Presto 0.272的集群安装部署
目录1. 集群规划2. 下载解压3. 配置文件3.1 服务器配置etc/config.properties3.2 节点配置etc/node.properties3.3 JVM配置etc/jvm.config3.4 日志配置etc/logging.properties4. 启动5. 关闭6. 查看Web UI1. 集群规划主机名服务bigdata001coordinatorbigdata002workerbigdata003worker2. 下载解压在3台服务原创 2022-07-04 08:58:45 · 408 阅读 · 0 评论 -
Apache Iceberg数据湖与Trino的集成
目录1. 介绍2. 配置Connector1. 介绍Trino连接Iceberg的Connector,需要通过Hive的metastore,查询每个partition的HDFS location,然后获取partition下的metadata文件信息2. 配置Connector在所有节点上新建catalog配置文件[root@bigdata001 catalog]# pwd/opt/trino-server-375/etc/catalog[root@bigdata001 catalog]#[原创 2022-04-30 22:25:58 · 1970 阅读 · 0 评论 -
Presto/Trino中select语句的使用(union、intersect、except和grouping set、rollup、cube,with内联视图和子查询)、over开窗函数的使用
目录1. select查询1.1 union、intersect、except1.2 grouping set、rollup、cube1.3 with内联视图1.4 子查询2. SQL函数2.1 over (partition by col order by col)1. select查询语法如下:[ WITH [ RECURSIVE ] with_query [, ...] ]SELECT [ ALL | DISTINCT ] select_expression [, ...][ FROM fr原创 2022-03-25 09:20:10 · 5270 阅读 · 0 评论 -
Presto/Trino中schema、table、视图的操作
目录1. 创建、更新、删除schema2. 创建table2.1 表和列with子句的使用2.2 复制现有的表结构2.3 从查询结果中新建表2.4 修改表和删除表3. 视图1. 创建、更新、删除schema下面以Hive为例,进行讲解创建schematrino> create schema if not exists hive.test_db with (location = 'hdfs://nnha/user/hive/warehouse/test_db.db');CREATE SCHEM原创 2022-03-25 09:17:53 · 6013 阅读 · 0 评论 -
Presto/Trino的explain和system catalog的使用、各种数据类型(基础、集合、日期时间)
目录1. explain2. system catalog2.1 system.runtime数据库2.2 system.information_schema数据库3. 创建、更新、删除schema(未执行)4. 创建table4.1 表和列with子句的使用(未执行)4.2 复制现有的表结构(未执行)4.3 从查询结果中新建表(未执行)4.4 修改表和删除表(未执行)1. explain查看查询执行计划,简单例子是检查查询在语法上是否正确trino>trino> explain (ty原创 2022-03-22 14:15:01 · 2568 阅读 · 0 评论 -
Presto/Trino的Hive Connector的使用(内部表、外部表、分区表)
目录Hive连接器不使用Hive的运行环境,而是使用Hive Metastore服务获取元数据,再使用HDFS客户端直接从HDFS上读写数据。所以不能将SQL查询下推到Hive配置hive.propertiesconnector.name=hive-hadoop2hive.metastore.uri=thrift://hive1:9083...原创 2022-03-16 22:30:07 · 5339 阅读 · 0 评论 -
Presto/Trino的Mysql Connector使用和查询下推优化
目录1. Mysql连接器2. 查询下推1. Mysql连接器底层是通过JDBC驱动来查询Mysql的数据源一条SQL中有多个表,则会对应创建多个JDBC连接在Mysql中准备数据[root@bigdata005 ~]#[root@bigdata005 ~]# mysql -h bigdata005 -P 3306 -u root -pRoot_123mysql: [Warning] Using a password on the command line interface can原创 2022-03-15 14:11:54 · 2709 阅读 · 2 评论 -
Presto/Trino连接器原理、添加各种Connector(TPC-H、TPC-DS、JMX、黑洞Blackhole、Memory内存)
1. Connectors连接器的原理如果一个数据源的数据格式,可以用Presto/Trino的数据类型表示成表的行和列,就可以实现Presto/Trino提供的服务提供者接口(service provider interface, SPI),抽象成Presto/Trino的表,就可以使用Presto/Trino的SQL查询各种数据源SPI主要包含3部分的功能:在数据源和Presto/Trino数据处理引擎进行之间数据格式转换,以便读取和写入获取schema、table、视图的元数据进行逻辑单位原创 2022-03-12 15:10:33 · 2881 阅读 · 0 评论 -
Presto/Trino的Coordinator和Worker、查询执行流程、查询句法优化和代价优化、Lateral join和Semi-join
目录1. coordinator协调器和worker工作节点2. Connectors连接器1. coordinator协调器和worker工作节点Presto在整个集群的worker服务器上分配处理任务,实现横向拓展,类似MPP架构上面是一个coordinator和多个worker的集群,客户端通过coordinator连接系群,coordinator将创建一个包含多个State的逻辑模型,分发到各个worker进行执行,worker访问数据源获取数据coordinator上会运行一个disco原创 2022-03-07 10:11:28 · 2618 阅读 · 0 评论 -
Trino CLI的使用、Python/Scala连接Presto/Trino
目录1. 客户端安装和使用2. Python客户端的使用1. 客户端安装和使用下载,然后重命名,最后赋予执行权限[root@trino1 ~]#[root@trino1 ~]# wget https://repo1.maven.org/maven2/io/trino/trino-cli/367/trino-cli-367-executable.jar[root@trino1 ~]#[root@trino1 ~]# mv trino-cli-367-executable.jar trino[ro原创 2022-03-06 16:00:16 · 4892 阅读 · 4 评论 -
Presto/Trino的优点和使用场景、使用Docker体验Presto/Trino
可以去除数仓的ODS、DWD层,甚至可以不用DWM层,用Presto/Trino连接各种数据源,直接清洗出DWS大宽表层;: 我们的数据会储存在各种各样的数据库中,以前都需要经过ETL抽取到数据仓库中,现在用Presto/Trino在一条SQL中就能直接查询多个不同数据源实现联邦查询,而且SQL语法兼容大部分HiveQL。:Presto/Trino支持内存并行处理、跨集群节点管线执行、多线程执行模型、高效的扁平内存数据结构(最小化Java的垃圾回收)、Java字节码生成。进入容器连接trino服务器。原创 2022-03-03 22:38:08 · 6799 阅读 · 0 评论 -
在Centos7上进行Trino 377的集群安装部署
目录1. 集群规划2. 安装依赖1. 集群规划主机名服务trino1coordinatortrino2workertrino3worker2. 安装依赖每台服务器安装Java11和Python3,如下所示进行检验:[root@trino1 ~]#[root@trino1 ~]# java -versionopenjdk version "11" 2018-09-25OpenJDK Runtime Environment 18.9 (build 11+原创 2022-01-11 17:53:04 · 1708 阅读 · 0 评论