apache kylin 本地编译步骤及主要填坑方法
2021/6/10 10:51:43
本文主要是介绍apache kylin 本地编译步骤及主要填坑方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
首先是环境准备,
请参考
源码编译Kylin(详细版)https://blog.csdn.net/weixin_42536586/article/details/108446512
补充几点:
1、最好在linux下编译,因为自带的sh脚本在windows下无法执行
2、使用jdk1.8,oracle官网最新是16,不要用。而且不要只安装jre,需要使用jdk
3、配置好JAVA_HOME指向jdk安装的目录
4、MAVEN的阿里源好多包不全,如果速度没问题,可以使用默认源。也就是把上文中的阿里源用<!-- -->标签注释掉
源文件准备:
大家做开发,习惯于从git上git clone源代码。
Kylin编译部署及汉化
这篇文档也是教大家git clone https://github.com/apache/kylin.git
但是,这样获得的源码是最新源代码。而我们实际应该使用的是各个release版本的源代码。
这些release版本的源代码,需要从http://archive.apache.org/dist/kylin找到对应版本的源代码下载。比如,我要编译针对hadoop的3.1.2版本,则下载
wget http://archive.apache.org/dist/kylin/apache-kylin-3.1.2/apache-kylin-3.1.2-source-release.zip
源码下载后,针对源码编译Kylin(详细版)
针对POM.XML修改以后的补充如下:
有可能从core-common起编译就失败。基本原因是以下两个:
1.对应子项目的POM.XML中缺乏必要的依赖项。
解决办法:在maven或阿里云的源中,查找依赖项的pom并补充进云
2.源代码有误,比如core-common中有一段代码,用的是configuration2包中类的方法,但源代码用的是configuration包中的类。
解决办法:适当修改源代码。
目前积累的修改有:
1.core-common
/src/test/java/org/apache/kylin/common/metrics/metrics2/StandaloneExample.javaStandalone.java
将
import org.apache.commons.configuration.SubsetConfiguration;
改为
import org.apache.commons.configuration2.SubsetConfiguration;
pom.xml中增加以下依赖项
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>com.melloware</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
2.stream-core
pom.xml
增加以下依赖
<!-- https://mvnrepository.com/artifact/org.apache.directory.api/api-util -->
<dependency>
<groupId>org.apache.directory.api</groupId>
<artifactId>api-util</artifactId>
<version>2.0.2</version>
</dependency>
3.hive-sources
pom.xml
增加以下依赖
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.6</version>
</dependency>
这篇关于apache kylin 本地编译步骤及主要填坑方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享