presto
文章平均质量分 84
马云雷的博客
yunleisjtu # 163.com
展开
-
Petabytes scale log analysis at Alibaba:intrastructure/challenge/optimization
hello everyone my name is yunlei. I work at Alibaba Cloud log service team. Today I will share petabytes scale log data analysis at Alibaba group, I will share our experience with presto, the challenges we faced and the optimizations we did for presto...原创 2021-04-09 14:53:56 · 434 阅读 · 2 评论 -
深入理解Presto,Presto的内部架构
深入理解Presto本文译自英文书籍<Presto: the definitive guide>Presto权威指南第四章,目前该书的中文翻译版尚未出版,本文摘出书中对Presto内部介绍比较深入的第四章,看过本文对全书感兴趣的同学,请购买英文原版,或等待中文翻译版出版。–2020/08/16在简单了解过Presto和众多的使用场景、并且安装和开始使用她之后,你现在已经准备好了深入探索更多。在本书的第二部分,你会了解到Presto内部的工作机制,并做好准备在生产环境去安装、使用、运行、调优原创 2020-08-16 15:29:46 · 2234 阅读 · 1 评论 -
Presto 任务调度: 任务分配到哪里
在调度任务时,有几个决策点,第一:分配多少个任务,第二:每个任务分配到哪些机器上。要回答这个问题,首先把计算任务做一下分类,在presto内部有4种计算类型的节点:source节点,读源数据的节点,负责读取数据、Map阶段的计算任务。分配的个数由SplitManager根据数据决定。fixed节点,shuffle节点,用于处理reduce任务。比如group by计算,source阶段的数据按照hash发送到fixed节点。分配的个数由hash_partition_count这个session参数决原创 2020-05-30 22:12:02 · 1555 阅读 · 0 评论 -
Procella@Youtube 把计算加速玩到极致的实时计算引擎
Procella的应用场景在youtue内部,在数据分析领域有4个方面的应用场景:报表和大盘:1000亿数据/天,要求在10ms的延时内完成近实时的计算,主要的计算类型过滤/聚合/set/join内嵌的统计指标,例如视频的浏览人数等等,特点是数据不停的变化,每秒上百万次查询。时序数据监控:特点是query固定,数据量小,可以下采样,旧数据过期,以及一些特有的查询例如估算函数和时序函数。Ad hoc查询:提供给数据科学家,BI分析师等使用的,特点是query比较复杂,且不可预测,要求延时在秒级别处原创 2020-05-20 21:30:42 · 1136 阅读 · 0 评论 -
深入理解Presto(2) :Presto查询执行过程
Presto查询执行过程Presto包含三类角色,coordinator,discovery,worker。coordinator负责query的解析和调度。discovery负责集群的心跳和角色管理。worker负责执行计算。presto-cli提交的查询,实际上是一个http POST请求。查询请求发送到coordinator后,经过词法解析和语法解析,生成抽象语法树,描述查询的执...原创 2018-02-26 23:33:00 · 13483 阅读 · 0 评论 -
Presto Coordinator分布式改造
背景自从上线SQL功能以来,经过两年的时间,随着sls业务的不断增长,每天处理1亿次query,扫描1000,000,000,000,000行日志(没错1000万亿行日志)。业务的增长也给系统带来无形的压力,如何保障在低延时的前提下提供这么大的负载是一个巨大的挑战。挑战之一就是单master架构。在之前的文章中,我介绍过了presto的架构。coordinator是presto中负责query...原创 2019-11-26 16:22:37 · 3159 阅读 · 3 评论 -
Presto内存泄露问题调查
问题背景:sls的线上流量越来越大,S1几乎增长了100%。在杭州region,每隔一段时间,一部分机器Presto就会开始频繁的Full GC,重启后稳定一段时间,然后过一段时间又开始频繁Full GC。Full GC达到一定次数的时候,就发生OOM,进程直接crash。由于Full GC时间长,影响线上的可用性,因此开始投入精力进行调查。查看GC 文件当频繁发生GC时,会在gc文件中打出...原创 2019-09-17 20:42:18 · 2177 阅读 · 0 评论 -
Presto coordinator的CPU持续上涨,原因竟然是这样
问题背景之前介绍过presto的架构, coordinator是Presto架构中负责调度的master节点。在实际部署中,为了减少该节点的负载,指定node-scheduler.include-coordinator=false,避免把计算任务调度到coordinator节点上。由于Presto进程是常驻进程,而且需要实时的提供在线服务。通常只有在需要升级时,才会通过热升级手段重启进程。于是...原创 2019-05-20 10:10:37 · 2140 阅读 · 2 评论 -
Presto入门: 配置第一个http connector
1. connector在presto中,可以对接多种类型的数据源,今天以http 服务器数据为例,简单介绍如何接入presto。2. 搭建http数据数据源2.1 http数据源的schema在http服务器上,提供一个文件,文件内容是数据源的格式。 一个文件是json格式,顶层是schema的名称,schema类似数据的database。schema之下是一个表的list。每张...原创 2018-05-10 11:25:42 · 2454 阅读 · 1 评论 -
深入理解Presto(1) : Presto的架构
简介Presto是一个facebook开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。presto的架构由关系型数据库的架构演化而来。presto之所以能在各个内存计算型数据库中脱颖而出,在于以下几点:清晰的架构,是一个能够独立运行的系统,不依赖于任何其他外部系统。例如调度,presto自身提供了对集群的监控,可以根据监控信息完成调度。简单的数据结构,列式存储,逻辑行原创 2017-10-12 19:56:49 · 8462 阅读 · 0 评论