目录一、概述二、Trino特点三、Trino架构1)架构和服务节点2)Trino数据模型四、Trino安装部署1)单机版(Coordinator和Worker同进程)1、安装JDK112、安装python3、下载Trino安装包4、配置5、配置jmx连接器6、启动服务7、测试验证8、下载客户端2)单机版(Coordinator和Worker不同进程)3)集群模式(多worker节点)1、安装JDK112、安装python3、copyworker目录到其它节点4、修改配置5、启动worker节点服务五、配置HTTPS(coordinator)1)生成证书2、配置3、重启服务并验证4、配置账号密码
目录一、概述二、Trino特点三、Trino架构1)架构和服务节点2)Trino数据模型四、Trino安装部署1)单机版(Coordinator和Worker同进程)1、安装JDK112、安装python3、下载Trino安装包4、配置5、配置jmx连接器6、启动服务7、测试验证8、下载客户端2)单机版(Coordinator和Worker不同进程)3)集群模式(多worker节点)1、安装JDK112、安装python3、copyworker目录到其它节点4、修改配置5、启动worker节点服务五、配置HTTPS(coordinator)1)生成证书2、配置3、重启服务并验证4、配置账号密码
一、背景学习Hadoop时接触的第一个样例就是wordcount,即统计文本中词的数量。各种BI、营销产品中不可或缺的模块就是统计报表。在常见的搜索分页模块,也需要提供总记录数。统计在SQL引擎中可谓最基础、最核心的能力之一。可能由于它太基础了,就像排序一样,我们常常会忽视它背后的原理。通常的计数是非常简单的,例如统计文本行数在linux系统上一个wc命令就搞定了。除了通常的计数,统计不重复元素个数的需求也非常常见,这种统计称为基数统计。对于Presto这种分布式SQL引擎,计数的实现原理值得深入研究,特别是基数统计。关于普通计数和基数计数,最典型的例子莫过于PV/UV。二、基数统计主要算法在
一、背景学习Hadoop时接触的第一个样例就是wordcount,即统计文本中词的数量。各种BI、营销产品中不可或缺的模块就是统计报表。在常见的搜索分页模块,也需要提供总记录数。统计在SQL引擎中可谓最基础、最核心的能力之一。可能由于它太基础了,就像排序一样,我们常常会忽视它背后的原理。通常的计数是非常简单的,例如统计文本行数在linux系统上一个wc命令就搞定了。除了通常的计数,统计不重复元素个数的需求也非常常见,这种统计称为基数统计。对于Presto这种分布式SQL引擎,计数的实现原理值得深入研究,特别是基数统计。关于普通计数和基数计数,最典型的例子莫过于PV/UV。二、基数统计主要算法在
在《探究PrestoSQL引擎(1)-巧用Antlr》中,我们介绍了Antlr的基本用法以及如何使用Antlr4实现解析SQL查询CSV数据,更加深入理解Presto查询引擎支持的SQL语法以及实现思路。本次带来的是系列文章的第2篇,本文梳理了Join的原理,以及Join算法在Presto中的实现思路。通过理论和实践的结合,可以在理解原理的基础上,更加深入理解Join算法在OLAP场景下的工程落地技巧,比如火山模型,列式存储,批量处理等思想的应用。一、背景在业务开发中使用数据库,通常会有规范不允许过多表的Join。例如阿里巴巴开发手册中,有如下的规定:【强制】超过三个表禁止Join。需要Joi
在《探究PrestoSQL引擎(1)-巧用Antlr》中,我们介绍了Antlr的基本用法以及如何使用Antlr4实现解析SQL查询CSV数据,更加深入理解Presto查询引擎支持的SQL语法以及实现思路。本次带来的是系列文章的第2篇,本文梳理了Join的原理,以及Join算法在Presto中的实现思路。通过理论和实践的结合,可以在理解原理的基础上,更加深入理解Join算法在OLAP场景下的工程落地技巧,比如火山模型,列式存储,批量处理等思想的应用。一、背景在业务开发中使用数据库,通常会有规范不允许过多表的Join。例如阿里巴巴开发手册中,有如下的规定:【强制】超过三个表禁止Join。需要Joi
一、集群架构1、B站SQLOnHadoop下图为B站Presto集群的架构图,最上层是内部的一些数据服务,所有服务统一接入Dispatcher。Dispatcher是一套内部自研的服务,根据查询HDFS的数据量、目前引擎的负载情况等将用户提交的query路由到相应的引擎进行执行。对于presto的查询语法和hive/spark语法可能出现的不兼容问题,我们引进了Linkedin的开源软件Coral,将hive和spark的语法转换为presto的语法进行执行。计算引擎的路由逻辑:对于查询量比较小的sql,会优先路由到presto进行执行,如果失败则降级到spark进行执行,再失败则降级到hiv
一、集群架构1、B站SQLOnHadoop下图为B站Presto集群的架构图,最上层是内部的一些数据服务,所有服务统一接入Dispatcher。Dispatcher是一套内部自研的服务,根据查询HDFS的数据量、目前引擎的负载情况等将用户提交的query路由到相应的引擎进行执行。对于presto的查询语法和hive/spark语法可能出现的不兼容问题,我们引进了Linkedin的开源软件Coral,将hive和spark的语法转换为presto的语法进行执行。计算引擎的路由逻辑:对于查询量比较小的sql,会优先路由到presto进行执行,如果失败则降级到spark进行执行,再失败则降级到hiv
一、背景自2014年大数据首次写入政府工作报告,大数据已经发展7年。大数据的类型也从交易数据延伸到交互数据与传感数据。数据规模也到达了PB级别。大数据的规模大到对数据的获取、存储、管理、分析超出了传统数据库软件工具能力范围。在这个背景下,各种大数据相关工具相继出现,用于应对各种业务场景需求。从Hadoop生态的Hive,Spark,Presto,Kylin,Druid到非Hadoop生态的ClickHouse,Elasticsearch,不一而足...这些大数据处理工具特性不同,应用场景不同,但是对外提供的接口或者说操作语言都是相似的,即各个组件都是支持SQL语言。只是基于不同的应用场景和特性
一、背景自2014年大数据首次写入政府工作报告,大数据已经发展7年。大数据的类型也从交易数据延伸到交互数据与传感数据。数据规模也到达了PB级别。大数据的规模大到对数据的获取、存储、管理、分析超出了传统数据库软件工具能力范围。在这个背景下,各种大数据相关工具相继出现,用于应对各种业务场景需求。从Hadoop生态的Hive,Spark,Presto,Kylin,Druid到非Hadoop生态的ClickHouse,Elasticsearch,不一而足...这些大数据处理工具特性不同,应用场景不同,但是对外提供的接口或者说操作语言都是相似的,即各个组件都是支持SQL语言。只是基于不同的应用场景和特性