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-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享