这是我参与「第四届青训营 」笔记创作活动的的第7天.
01.Presto 的概述
OLAP:OnLine Analytical Processing(在线分析处理),对业务数据执行多维分析,并提供复杂计算,趋势分析和复杂数据建模的能力。联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察到信息。
具有4个特点:
OLAP核心概念:①维度②度量
1. 常见的OLAP引擎:
-
预计算引擎:Kylin,Druid(以空间换时间)
-
批式处理引擎:Hive,Spark(注重吞吐量)
-
流式处理引擎:Flink(注重实时性)
-
交互式处理引擎:Presto,Clickhouse,Doris(注重查询时延的问题)
2. Presto 设计思想
02.Presto基础原理和概念
- Presto架构图
2. 基础概念的的介绍
Client端:发送查询请求,SQL语句,返回给查询请求的是结果集
Coordinator:解析SQL语句,生成执行计划,分发执行任务给Worker节点
Worker:执行Task处理数据,与其他Worker交互传输数据
Connector:一个Connector代表一种数据源。可以认为Connector是由Presto提供的适配多数据源的统一接口
Catalog:管理元信息与实际数据的映射关系
03.Presto 重要机制
-
多租户资源管理-Resource Group
-
多租户下的任务调度
- Stage 调度
- Task 调度
Task数量的确定:
- Split 调度
- 内存计算
- 多数据联邦查询
04.性能优化实战
- 常用性能分析工具: