概述
导读:在大数据生态之数据计算(二)中我们讲到了即席查询计算引擎Presto。Presto是一个Facebook开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。Presto的架构由关系型数据库的架构演化而来,Presto在各个内存计算型数据库中脱颖而出。很多大数据类的研究项目都在选择以Presto为基础去做一些定制化的实验,那现在我们试着从源码的角度去探索他的奥秘吧。
作者:小舰 中国人民大学计算机硕士
来源:DLab数据实验室(ID:rucdlab)
1.源码准备
首先在github上找到prestosql的presto项目,这里要说明一下,presto有两个分支,分别是prestodb和prestosql。目前prestodb是Facebook在维护,prestosql更加适合我们来学习,更加通用一些。
将github的代码fork到自己的账号下https://github.com/prestosql/presto ,当然也可以自己下载源码导入,但是fork到自己的github上,然后通过编辑器Intellij IDEA的Git插件远程clone到本地,到这里源码就有了。
2.源码编译
首先要准备好环境
1.JDK:目前的版本为348,要求Java JDK为11.0.7及以上,推荐为11.0.8,11.0.9
2.Maven:版本最低要求为3.6.3
3.Docker环境,在编译presto-doc的时候会有Docker相关命令的验证,当然这是非必需的
然后为了避免下载过程中由于网络等原因造成下载包失败,可以把maven源修改一下,比如可以用阿里的
接下来就可以编译了,源码编译其实比较简单,就是
编译成功后会出现如下提示
3.调试
编译完成后,我们可以看到presto-cli目录下的target下面会有presto-cli-347-SNAPSHOT-executable.jar 这样类似的jar包,这个就是可执行的包
下面我们先来启动PrestoServer进程,在presto-server-main - PrestoServer中,配置如下运行参数:
Main Class: io.prestosql.server.PrestoServer
VM Options: -ea -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -Xmx2G -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties -Djdk.attach.allowAttachSelf=true
Working directory: $MODULE_DIR$ -Dhive.metastore.uri=thrift://localhost:9083
Use classpath of module: presto-server-main
开启服务之后,我们看到如下提示代表成功
然后我们就可以结合编译出来的jar包进行调试了
java -jar presto-cli/target/presto-cli-347-SNAPSHOT-executable.jar --server http://localhost:8080
>presto show catalogs
就可以列出有哪些类型的数据源了
我们也可以通过监控界面8080端口来看运行的情况
4.总结
到这里,我们就完成了Presto的源码编译和调试工作,让我们准备好开始源码之旅吧~
●数据挖掘原理与实战(三)--朴素贝叶斯分类算法 ●数据挖掘原理与实战(二)--频繁模式树FPTree算法 ● 数据挖掘原理与实战(一)--关联规则Apriori算法●Spark原理与实战--数据抽象DataFrame(五)
●Spark原理与实战--数据抽象RDD(四)
●Spark原理与实战--GraphX图查询(三)
●Spark原理与实战--SparkStreaming流处理(二)
●Spark原理与实战--环境搭建及WordCount(一)
●Spark数据倾斜解决方案实战(三)
●Spark数据倾斜解决方案实战(二)
●Spark数据倾斜解决方案实战(一)
●大数据计算生态之数据计算(二)
●大数据计算生态之数据计算(一)
●大数据计算生态之数据存储
文章都看完了不点个 吗
欢迎 点赞、在看、分享 三连哦~~
最后
以上就是幸福篮球为你收集整理的maven实战 源码_源码学习(一)Presto编译与调试的全部内容,希望文章能够帮你解决maven实战 源码_源码学习(一)Presto编译与调试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复