这是我参与「第四届青训营 」笔记创作活动的第4天
概述
大数据
马丁·希尔伯特 的总结: 大数据其实是在2000年后,因 为信息化的快速发展。信息交换、信息 存储、信息处理三个方面能力的大幅增 长而产生的数据。
大数据与 OLAP的演进
- Hadoop:基于廉价机器的存算分离的大规模分布式处理系统
- 谷歌在2003、2004年 发布Google File System论文、MapReduce论文。
- 2008年,Hadoop成为apache顶级项目
OLAP(OnLine Analytical Processing)对业务数据执行多维分析,并提供复杂计算,趋势分析和复杂 数据建模的能力。是许多商务智能(BI)应用程序背后的技术。
- OLAP 和 MapReduce
1.MapReduce代表了抽象的物理执行模型,使用门槛较高
2.与 Mapreduce Job 相比, OLAP 引擎常通过 SQL 的形式,为数据分析、数据开发人员提供统一的逻 辑描述语言,实际的物理执行由具体的引擎进行转换和优化。
常见的OLAP引擎
- 预计算引擎:Kylin,Druid
- 批式处理引擎:Hive,Spark
- 流式处理引擎:Fink
- 交互式理引擎:Presto,Clickhouse,Doris
Presto基础原理与概念
Query 基于SQL parser后获得的执行计划
Stage 根据是否需要shuffle将Query拆分成不同的subplan,每一个subplan便是一个stage
Fragment 基本等价于Stage,属于在不同阶段的称呼,在本门课程可以认为两者等价
Task单个Vorker节点上的最小资源管理单元:在一个节点上,一个Stage只有一个Task,一个Query可能有多个Task
Query相关
Pipeline Stage按照LocalExchange切分为若干Operator集合,每 个Operator集合定义一个Pipeline.
Driver Pipeline的可执行实体,Pipeline和Driver的关系可类比程序和进程,是最小的执行单元,通过火山迭代模型执行每一个Operator.
Split(输入据描述数据实体是Page),数量上和Driver一对应, 不仅代表实际数据源split,也代表了不同stage间传输的据。
Operator 最小的物理算子。
Presto重要机制:
- 多租户资源管理
- 多租户任务调度
- 内存计算
- 多数据源联邦查询