大数据| 青训营笔记

100 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第7天

Presto架构原理与优化介绍

大数据其实是在2000年后,因为信息化的快速发展。信息交换、信息存储、信息处理三个方面能力的大幅增长而产生的数据。 OLAP对业务数据执行多维分析,并提供复杂计算,趋势分析和复杂数据建模的能力。是许多商务智能应用程序背后的技术。 MapReduce代表了抽象的物理执行模型,使用门槛高。 与Mapreduce Job相比,OLAP引擎常通过SQL的形式,为数据分析、数据开发人员提供统一的逻辑描述语言,实际的物理执行由具体的引擎进行转换和转化。

Presto设计思想

多租户任务的管理与调度 多数据源联邦查询 支持内存化计算 Pipeline式数据处理

Coordinator:解析SQL语句;生成执行计划;分发执行任务给Worker节点 Worder:执行Task处理数据;与其他Worker交互传输数据 Connector:一个Connector代表一种数据源。可以认为Connector是由Presto提供的适配多数据源的统一接口 Catalog:管理元信息与实际数据的映射关系。

image.png

image.png

Discovery Service: 1、Worker配置文件配置Discovery Service地址 2、Worker节点启动后会向Discovery Service注册 3、Coordiantor从Discovery Service获取Worker的地址

Resource Group

优点:轻量的Query级别的多级队列资源管理模式 缺点:存在一定滞后性,只会对Group中正在运行的SQL进行判断

Stage调度

image.png

Task调度

image.png

HARD_AFFINITY:计算、存储Local模式,保障计算与存储在同一个节点,减少数据传输。 SOFT_AFFINITY:基于某些特定算法,如一致性HASH函数,常用于缓存场景,保证相似的Task调度到同一个Worker NO_PREFERENCE:随机选取,常用于普通的纯计算Task。