OmniStream编译手册
1、操作系统要求
- OS:OpenEuler22.03 LTS SP3
2、安装依赖组件
-
通过yum直接安装部分依赖(GCC, zlib)。
-
安装JAVA。
-
安装Cmake。
-
安装maven。
-
安装LLVM。
-
安装googletest。
-
安装jemalloc。
-
安装nlomann Json。
-
安装snappy。
-
安装rocksdb。
-
安装xxHash。
-
安装BoostKit-ksl。
3、编译OmniStream
编译前需要安装以下几个组件:
安装libboundscheck。
安装BoostKit-kaccjson。
安装librdkafka。
配置环境变量。
在/etc/profile文件中追加以下内容。
追加完内容后,请执行 source /etc/profile
编译详情请参考https://gitee.com/openeuler/OmniOperator。
编译完后,拷贝文件,步骤如下。
编译OmniAdaptor。
编译OmniStream。其中,HOME变量表示operator安装目录
OmniStream结果文件路径如下。
注意点
1、部分依赖组件由于服务器网络问题无法直接从网站下载,已上传到gitee仓库中,请自行下载,仓库地址为
2、如果是网页申请资源,请确认申请服务器资源,如果资源规格是8U16G,请通知对应的工作人员进行扩容。
3、本文中的$PARALLELISM为实际使用的并行数,根据机器实际核数而定。
4、部署、验证请参考https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/bds/kunpengbds_omniruntime_20_0925.html , 其中,开源任务验证请参考“使能特性”中“SQL使能特性”。不用去安装UDF翻译工具、AI4C工具,开源任务没有涉及DataStream相关章节内容。
5、本地验证:将附件中check.zip解压获得的bid.csv和test_q0.sql放到服务器中,设置文件权限
修改test_q0.sql中 “'path' = 'bid.csv’,”这一行,path的值修改为bid.csv在服务器上的绝对路径。通过使能omnistream和不使能omnistream,两者结果一致,则验证成功。
启动Flink,并执行test_q0.sql
6、社区任务开发与验证:修改源码目录中cpp/table/runtime/operators/join下的join算子文件,涉及到该目录下所有文件的修改。
如何验证改动是否正确:
使用附件join_task.zip文件解压,将q20._csv.sql改为outer join等其他任务join type,分别用flink不使能omnistream和使能omnistream两种方式,比较输出结果内容是否一致。(可以自行修改用例,或者将结果insert到表中,观察生成表是否一致)。其中q20_csv.sql中path的值和“1”中一样,修改为auction_join.csv和bid_join.csv中的实际路径。
7、使能OmniStream:
-
修改flink/bin目录下的config.sh,修改该文件中的constructFlinkClassPath函数,注释最后一行的 echo "FLINK_CLASSPATH" "FLINK_DIST",在注释行下补充两行。
-
修改flink/conf目录下的flink-conf.yaml文件。修改属性env.java.opts,修改为
8、不使能OmniStream:将config.sh和flink-conf.yaml恢复为原始格式。
9、部署OmniStream需要的文件列表为:
这些文件从编译的机器中查找,并在部署中的时候准备好,放置到部署到目录中
OmniStream编译手册
1、操作系统要求
2、安装依赖组件
GCC
Cmake
JDK
maven
zlib
LLVM
googletest
jemalloc
nlomann json
libboundscheck
snappy
rocksdb
xxHash
librdkafka
BoostKit-kaccjson
BoostKit-ksl
OmniOperator
说明: 以下的组件都安装在/opt/buildtools/目录下; $PARALLELISM表示编译指定并行度。
通过yum直接安装部分依赖(GCC, zlib)。
安装JAVA。
安装Cmake。
安装maven。
安装LLVM。
安装googletest。
安装jemalloc。
安装nlomann Json。
安装snappy。
安装rocksdb。
安装xxHash。
安装BoostKit-ksl。
3、编译OmniStream
编译前需要安装以下几个组件:
安装libboundscheck。
安装BoostKit-kaccjson。
安装librdkafka。
配置环境变量。
在/etc/profile文件中追加以下内容。
追加完内容后,请执行 source /etc/profile
编译详情请参考https://gitee.com/openeuler/OmniOperator。
编译完后,拷贝文件,步骤如下。
编译OmniAdaptor。
编译OmniStream。其中,HOME变量表示operator安装目录
OmniStream结果文件路径如下。
注意点
1、部分依赖组件由于服务器网络问题无法直接从网站下载,已上传到gitee仓库中,请自行下载,仓库地址为
2、如果是网页申请资源,请确认申请服务器资源,如果资源规格是8U16G,请通知对应的工作人员进行扩容。
3、本文中的$PARALLELISM为实际使用的并行数,根据机器实际核数而定。
4、部署、验证请参考https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/bds/kunpengbds_omniruntime_20_0925.html , 其中,开源任务验证请参考“使能特性”中“SQL使能特性”。不用去安装UDF翻译工具、AI4C工具,开源任务没有涉及DataStream相关章节内容。
5、本地验证:将附件中check.zip解压获得的bid.csv和test_q0.sql放到服务器中,设置文件权限
修改test_q0.sql中 “'path' = 'bid.csv’,”这一行,path的值修改为bid.csv在服务器上的绝对路径。通过使能omnistream和不使能omnistream,两者结果一致,则验证成功。
启动Flink,并执行test_q0.sql
6、社区任务开发与验证:修改源码目录中cpp/table/runtime/operators/join下的join算子文件,涉及到该目录下所有文件的修改。
如何验证改动是否正确:
使用附件join_task.zip文件解压,将q20._csv.sql改为outer join等其他任务join type,分别用flink不使能omnistream和使能omnistream两种方式,比较输出结果内容是否一致。(可以自行修改用例,或者将结果insert到表中,观察生成表是否一致)。其中q20_csv.sql中path的值和“1”中一样,修改为auction_join.csv和bid_join.csv中的实际路径。
7、使能OmniStream:
修改flink/bin目录下的config.sh,修改该文件中的constructFlinkClassPath函数,注释最后一行的 echo "FLINK_CLASSPATH" "FLINK_DIST",在注释行下补充两行。
修改flink/conf目录下的flink-conf.yaml文件。修改属性env.java.opts,修改为
8、不使能OmniStream:将config.sh和flink-conf.yaml恢复为原始格式。
9、部署OmniStream需要的文件列表为:
这些文件从编译的机器中查找,并在部署中的时候准备好,放置到部署到目录中