Presto这几年在国内使用的越来越广泛,成为企业中必备的Adhoc/BI报表/轻量级ETL引擎,国内公司比如阿里巴巴、滴滴、头条、京东、小米都有几百数上千台的Presto集群,这主要还是由Presto优秀的特性使然(下文详细说明)。为了方便咱们中国的Presto使用者、爱好者学习使用Presto,我把Presto周边的资料做了一个搜集整理,方便大家查阅。
Presto的优点
如何说服你的老板使用Presto?
Presto本身很优秀: 首先Presto是一个全内存计算引擎,使得其速度特别的快;其次是它的灵活的插件机制,使得理论上可以从Presto联邦查询任意数据源,而社区默认的版本也已经自带了足够丰富的数据源,用户如果有自研的数据源,也可以开发相应的Connector进行链接;再者Presto实现的是完整的SQL语义,你不用担心某种语义是它不支持的,或者性能特别差,在SQL语义方面Presto是全能发展,而不是只专注一个方向(比如只专注单表查询性能);最后Presto有着活跃发展的社区,现在Presto有两个分支PrestoDB和PrestoSQL,两个分支都在活跃的发展带来了一些让人心动的新特性,比如对于TableScan的大幅度(Project Aria)。
Presto引擎设计符合大数据发展的趋势: 随着云计算的普及,网络带宽的持续加大,计算和存储分离的架构逐渐成为趋势,过去计算和存储一定要绑定在一起才能实现的查询性能现在计算和存储分离的架构下也是可以实现了,而Presto则是计算和存储分离的典型代表: Presto做计算,存储则是下面的各种Connector。这种架构演变的趋势让Presto得到越来越多的关注。
各大公司的实践
大家都在用。
- 美团: https://tech.meituan.com/2014/06/16/presto.html
- 滴滴: https://mp.weixin.qq.com/s/9KVdfVZ3O9A2-3pUB0BJZQ
- 有赞: https://www.sohu.com/a/439884201_315839
- 京东: https://doc.mbalib.com/view/eb6a075f58ed030b5ffbf44a4de67ef9.html
- Twitter: https://www.youtube.com/watch?v=biHP8-d7Bb4
- Uber: https://eng.uber.com/presto/
- Lyft: https://eng.lyft.com/presto-infrastructure-at-lyft-b10adb9db01
- Walmart: https://www.youtube.com/watch?v=w22fXF8cFKk
书籍文献
在学术上Presto也是很牛的。
-
《Presto: SQL on everything》: Presto自己的论文。
- 一个中国开发者的翻译: https://www.jianshu.com/p/de0a1de9f26e
- 《Presto: The Definitive Guide》:Presto三巨头写的Presto入门书籍。
- 《Presto技术内幕》: 京东Presto团队写的Presto的书籍。
必读文章
来,先读点大家都爱看的。
- Presto Core Data Structures: Slice, Block & Page: https://zhuanlan.zhihu.com/p/60813087
- Presto源码分析之Slice: https://zhuanlan.zhihu.com/p/52735465
- Presto Codegen简介与优化尝试: https://zhuanlan.zhihu.com/p/53469238
- Presto ETL之路: https://zhuanlan.zhihu.com/p/53996153
资料网站
Presto的相关资料很多。
-
Presto官方网站
- Facebook Enginerring网站: Facebook关于Presto的一些开发进展在这个网站会有公布。
- Presto中国知乎社区: 阿里云数据湖分析团队维护的Presto中国知乎社区,上面有大量的Presto源码分析文章。
- Presto News公众号: 阿里云数据湖分析团队维护的Presto公众号,分享最新的Presto新闻、进展。
- Learn BigData-Presto: https://learn-bigdata.incubator.edurt.io/docs/Presto
- 若飞同学的Presto博客: http://armsword.com/archives/
聊天群
进来聊聊吧,快速入门、解惑。
- PrestoDB: prestodb.slack.com
- PrestoSQL: prestosql.slack.com
- Presto中国社区(钉钉群): 阿里云数据湖分析团队维护的Presto中国钉钉群。
-
Presto China User Group(微信): 易观维护的一个微信群。
- 很可惜,没有二维码,只可以邀请进群。
Presto as a Service
自己不想搭Presto? 可以直接用云服务。
- 阿里云数据湖分析: https://www.aliyun.com/product/datalakeanalytics
- AWS Athena: https://aws.amazon.com/athena
Youtube频道
英文不错的、懂得**的可以看一看。
- Presto Fundation的频道: https://www.youtube.com/channel/UCwuYAEybmcgOfbPvG1SKiFg
- Starburst Data的频道: https://www.youtube.com/channel/UCXjkuWSO9CV_cSI3Mvo4a4w
总结
这些资料是笔者整理,以供有Adhoc/BI报表/轻量级ETL需求的用户及Presto爱好者学习交流,以帮助大家更好的学习掌握这个引擎,大家如果有相关资料补充欢迎评论给我。