00:00
接下来我们来尝试编译一个忽底,因为忽底并没有提供一个编译好的包。没有提供编译好的二进制包,所以呢需要我们去手动编译,并且呢,这中间涉及到很多细节,呃,很多版本的兼容性问题。就一些注意的地方我都会给大家讲,呃,一些坑呢,我也给大家踩完了,只要照着我的方式去改相应的泡文件,改相应的源码,就能够很顺利的编译完成来使用了。那么我们本次课程呢,使用的相关组件的版本基本上是跟我是用我们是上硅谷的一些版本保持一致,比如说哈杜我们用的是3.1.3,那么hi呢用的是3.1.2 flink呢用的是1.13.6,注意scla版本我们用的是2.12。那除此之外还有一个Spark,那如果是Spark的话,由于我们用的是0.12。
01:02
那0.12呢,对Spark的支持可能就是二系列的话是支持2.4,三的话是3.13.23.3啊,不支持3.0啊,这是0.12的一个特性,所以呢,我这边斯巴GA直接用的一个3.2啊,你想用三点一三点三都可以啊,Sarla版本是2012,那关于这个版本就呃前面这两个啊,主要是哈,Tuber跟hi这个东西是需要我们去修改一些东西来适配啊来兼容的,否则啊你是用不起来的,那关于flink呢,它0.12是支持FLINK13 flink14还有一五啊都支持,那么如果你用的忽底是0.11版本啊,我们现在是0.12对吧,如果是0.11版本,它只支持flink的1.13 1.14,那如果是忽迪的0.10版本,它最高也就支持到flink的1.13版本啊,这个是。
02:03
大家需要注意的地方啊,关于flink的支持,另外一个就是bug的支持,我刚才讲了,其实从零点一一开始,它对3.0就不再支持啊,它支持的是2.4啊,3.1还有3.2,那么从0.12开始,它支持的还是2.4 3.1 3.23.3啊,这个是大家需要注意的一些地方啊,如果你的Spark是其他版本,要么你自己去修改,去适配,要么你就用更老一点的版本叭,如说你用0.10的护理,它是可以支持,比如说3.0的Spark啊等等,那关于这些版本兼容性怎么找呢?啊,我给大家提供一个思路啊,啊,你百度就行了啊,比如说你来一个忽底啊0.1,我们先看一下0.1啊,搜一个release,呃,随便找一篇就行了啊,比如说这个吧,你看这都是官方号发的啊,很权威的啊,那我们看一下啊,呃,我直接往下跳。
03:03
嗯,你看。一些0.1的一些out table语法为3.1跟3.2的Spark才支持的,对吧,那你3.0就没法支持了,所以会有一些问题,再比如说是bug这一块,一些语法时间旅行仅限什么3.2以上的版本,你3.1甚至不支持这个特性。再往下看呢,呃,Spark版本和绑定的包增加了对3.2的支持,对吧,3.1将继续支持,2.4继续。那你再往下随便搂一眼啊,这个是flink的啊,就是有各个重要组件的一些兼容版本,它都有说,呃,你看对3.2的支持啊,还有什么帕,我记得还有一个啊啊,你看看这里从零点一开始,他不再正式的支持3.0的什么Spark。
04:00
鼓励用户升级到3.2或3.1,这个是大家要注意的地方,那0.11的flink只支持到一四啊,那看完一一之后,你再看一下一二。啊,这一篇应该是别人翻译过了,没事啊,我们还是同样的看一下,诶,你看他支持了什么Spark3.3。并且呢,继续支持3.2 3.1 2.4还是没有3.0,这个是大家要注意的地方啊,另外呢,这个新版的0.12支持了flink1.15啊,也是比较新的版本,那一四跟一三继续得到支持啊,这个是跟大家强调的一些小细节啊,所以你这个版本的兼容性要特别特别注意啊。另外这个哈豆have啊,我会教你怎么改源码啊,怎么来适配,因为它默认了这个哈豆的编译版本用的是2.7还是2.6来着,反正是二系列的,你编译不过去啊,那hi也一样,呃,它也好像是2.3还是2.4我也忘了啊,所以这一块呢,需要修改一些源码啊,行呃,后续再给大家一一演示啊,那在做编译之前。
05:12
那么需要大家最好是在Linux上面去做一个编译,那我的环境是center OS7.5,那么其实如果你的这些组件版本跟我基本一样,呃,操作系统也基本一样,那你直接拿我编译好的包去用就可以了啊,那如果不一样,那你还是自己编译一下啊,那行,那首先咱们得有一个maven,那ma呢,这个资料呢。你可以给,比如说我给到你的资料,这个文件夹有放了一些需要的东西,比如说这个编译需要的依赖,还有ma在这啊,我放了一个安装包啊,还有一些其他的东西啊,那你把这个安装包上传到你的服务器上,我这边是已经上传并且安装过了啊。
06:02
你上传之后啊,你该踏命令去解压,你正常去解压就行了啊,解压完之后呢,你想改名就改个名啊,无所谓,改完名之后咱们将maven配到环境变量里,对吧?在ETC profile里面配一个m home啊,再拼接到pass里面啊,注意后面这个路径写你自己的路径啊,这个写你自个儿的路径啊。就比如说我这边吧,呃,拉到最后诶大家看我这边是添加了一个maybe,当然我用的是点三,无所谓啊,一样啊,只要是3.6的应该都没问题,好配完之后别忘了什么做一个S让它生效。啊,这样就OK了,这样你的main就安装成功了,但是除了安装之外,咱们还需要做一些额外的配置来加速咱们的依赖下载,因为每买编译的时候需要下载需要用到的一些依赖架包,那默认它的仓库地址是什么?是国外的呀,那国外如果你没有一些科学上网,呃,可能会特别特别慢,所以我们常规做法是什么?是改成阿里的镜像仓库地址,这样你国内去。
07:12
他去下的时候就特别快了啊,那你怎么测试你没有安装成功呢,就执行一个命命令呗,啊杠V,那如果跳出这个maven的信息版本信息,那说明是OK的啊,那JDK的版本我用的是1.8啊,你也要稍微注意一下,至少是1.8了。好,这个是关于maven的安装,那修改的配置呢,比如说诶,我来到我的maven路径下面,你解压完应该是有这么几个文件夹的,那B就是命令脚本con这配置对吧,我们来到comfort文件夹,然后呢,这里有一个setting。来setting里面呢,这边我是配好了,我就告诉你在哪这里你直接搜什么呢杠来mirrors镜像对吧,这个默认是注释掉的,那下面你自己配一下啊,就比如说。
08:09
我这边自己你看加一个mirrors标签啊,后面对应有一个结尾啊,Mirrors那中间这一段注释我就啊是我注释掉了,但是你看我这里加了一个什么。阿里的地址是吧,阿里镜像的地址,你加上这么一个东西就可以了,那你后面这些你不用管,因为大家知道ma仓库生效只有其实只有第一个生效,你配的再多也没用啊,中央仓库只会有一个啊。行,这边大家应该都会了,那改完就保存退出就可以了啊,那就按照我给你们的这个啊,添加一个镜像啊。好,那这个就是我们的main门安装及准备。
我来说两句