
Presto
文章平均质量分 69
Presto 是由 Facebook 开发的开源大数据分布式高性能 SQL 查询引擎。为了解决 Hive 并不擅长的交互式查询领域,Facebook 开发了 Presto,专门为交互式查询所设计,提供分钟级乃至亚秒级低延时的查询性能。
喜欢coding的谢同学
2020年网易实习
2021年字节跳动校招
小Red书同名,一起努力学习吧~
展开
-
Presto新增SQL语法步骤总结
Presto使用ANTLR4解析SQL,ANTLR4新增语法一般为下三步:spark也使用ANTLR4解析SQL,这三步都一样在SqlBase,g4添加文法重新生成SqlBaseLexer、SqlBaseParser、SqlBaseVisitor和SqlBaseBaseVisitor在AstBuilder重写相应的方法接下来就是Presto所需要的步骤创建相应的Node可以直接继承Presto已经实现了的node,比如statement实现AstVisitor相应的visit原创 2021-08-29 17:37:44 · 882 阅读 · 0 评论 -
使用Coral将HiveView转为PrestoSQL
文章目录前言环境准备使用Coral总结前言随着技术的发展,Hive的计算逐渐被新生的引擎Spark、Presto这些取代。但是数据仓库元数据的管理依旧是交给HiveMetaStore,一些留存的View可能也需要使用新的引擎执行。Spark对Hive的语法兼容较好,不用担心ViewSQL的转换问题;Presto则严格地遵循ANSI标准,对Hive的兼容较差。于是有了一些项目将Hive的SQL转为其他引擎的SQL,Coral就是其中之一。环境准备已经有hive环境的可以直接使用自己的Hive环境原创 2021-08-21 16:28:19 · 1207 阅读 · 6 评论 -
Presto为REST API增加config
文章目录前言分析演示后记前言上一篇介绍Presto的REST API调用逻辑时候,当中提到了config注入属性值再返回给接口,接下来看看如何注册一个新的config并返回。分析config.properties中有一个presto.version属性在server包中有一个ServerConfig,它用到了presto.version属性通过Find Usages容易找到它在ServerMainModule中被绑定请求/v1/status的时候,将注入StatusRes原创 2021-07-10 15:18:27 · 345 阅读 · 1 评论 -
Presto本地调试REST API
文章目录背景介绍分析调用链注入链背景介绍工作中需要新增Presto的Rest API,便学习了一下他们的调用流程。Presto提供许多Rest API,下面给出部分以/v1/worker/{nodeId}/status为例,查看调用过程分析调用链先到达WorkerResource.java的对应接口实际上会重定向到/v1/status,从而来到StatusResource.javanodeInfo等信息是初始化的时候注入的那么这些信息的注入链路又是怎样的呢?以nodeInf原创 2021-07-10 15:18:14 · 771 阅读 · 1 评论 -
手把手教你如何实现Presto中的UDF
文章目录前言准备dockergit开发部署测试前言Presto本身并不支持UDF,官方建议通过插件来实现。但是教程有点简洁,对新手不太友好,我折腾了一下午才成功。分享出来帮大家避开一些坑~准备准备代码和运行环境,已有的可以直接跳过。docker我这里用的是docker环境,其他VM或者物理机只要能正常运行Presto都行。docker pull prestosql/presto:316拉取镜像docker run -p 8080:8080 --name prestosql prestos原创 2021-04-10 09:33:31 · 1907 阅读 · 0 评论 -
Presto源码分析-UI界面的功能新增
文章目录前言介绍需求一:统计查询数前言介绍presto的ui界面代码集中在presto-main/src/main/resources/webapp,重点介绍下面的三部分*.html: ui页面的基本框架,从中引入大量js(来自dist)src: js的源码位置dist: node编译之后的文件因此简单的需求,只需要修改html和node对应的部分即可。需求一:统计查询数Presot的UI界面可以显示最近的查询,但是没有统计个数,我们可以通过添加一行代码来实现这个功能。在pres原创 2021-02-28 12:33:50 · 635 阅读 · 5 评论 -
Study Note about The Practice of Presto & Alluxio in E-Commerce Big Data Platform
This article from a User Talk at PrestoCon. You can look the Slides and Video in web.Some infomation about the Speakerhello every one,my name is Wenjun Tao,a senior software engineer jd company.I’m also the core member of our presto team.It is my hon原创 2021-02-28 08:54:17 · 245 阅读 · 0 评论 -
prestodb2020年度回顾翻译
前段时间presto发布了一篇总结性的blog,本人尝试着进行翻译,由于水平有限还请大家见谅。2020 Recap - A Year with PrestoJanuary 12, 2021Dipti Borkar上面是标题、时间、作业应该无需翻译,直接开篇第一段Tl;dr: 2020 was a huge year for the Presto community. We held our first major conference, PrestoCon, the biggest Presto原创 2021-01-17 16:43:08 · 329 阅读 · 1 评论 -
Windows下Presto的Debug分析(三)-Query接受流程
之前应该粗略的看了Presto启动的流程,完成了的话控制台应该打印这句io.prestosql.server.PrestoServer ======== SERVER STARTED ========然后程序就一直阻塞着等待我们发起查询,下面便是提交简单的查询看看是如何处理的java -jar presto-cli/target/presto-cli-316-executable.jar --server localhost:8080打开Presto客户端,再select 1拿到下图的结果同时控制原创 2020-12-13 16:08:40 · 417 阅读 · 0 评论 -
Windows下Presto的Debug分析(二)-PrestoServer启动流程
在上一篇博客成功在Windows节点启动了PrestoServe之后,这篇博客流量PrestoServe做了些什么事情。首先粗略看一下PrestoServe的方法,主要的几个函数就是我在图中标出来的。显然main函数作为入口只做了一件事情,就是创建PrestoServe对象并执行它的run方法。注意PrestoServe实现了Runnable接口,这个run方法是实现了Runnable的run方法,至于为什么需要这样而不是直接调用?值得稍作思考。接着再来详细看看构造函数和run方法分别做了什么吧原创 2020-12-13 16:08:17 · 483 阅读 · 0 评论 -
Windows下Presto的Debug分析(一)-编译准备
https://blog.youkuaiyun.com/sinat_27545249/article/details/72852148https://bbs.huaweicloud.com/blogs/182111原创 2020-12-13 16:07:56 · 969 阅读 · 0 评论 -
Presto源码分析-Client提交流程
Presto有两大分支一个prestodb,另一个是prestosql。二者的区别找到了一篇文章,可以了解一下。原创 2020-12-05 12:09:01 · 691 阅读 · 0 评论