从源码构建
使用 Maven 构建
Kyuubi 基于 Apache Maven 构建,
./build/mvn clean package -DskipTests这将创建 Kyuubi 项目的所有子模块,而不会运行任何单元测试。
如果你想手动测试,可以从 Kyuubi 项目根目录直接启动 Kyuubi,运行如下命令:
bin/kyuubi start单独构建某个子模块
例如,你可以使用以下命令构建 Kyuubi Common 模块:
build/mvn clean package -pl kyuubi-common -DskipTests单独构建子模块
例如,你可以使用以下方式构建 Kyuubi Common 模块:
build/mvn clean package -pl kyuubi-common,kyuubi-ha -DskipTests跳过部分模块
例如,你可以使用以下命令在不构建 Kyuubi Codecov 和 Assembly 模块的情况下构建 Kyuubi 模块:
mvn clean install -pl '!dev/kyuubi-codecov,!kyuubi-assembly' -DskipTests针对不同 Apache Spark 版本构建 Kyuubi
自 v1.1.0 起,Kyuubi 支持使用不同的 Spark profile 进行构建:
| Profile | 默认 | 起始版本 |
|---|---|---|
| -Pspark-3.2 | 1.4.0 | |
| -Pspark-3.3 | 1.6.0 | |
| -Pspark-3.4 | 1.8.0 | |
| -Pspark-3.5 | ✓ | 1.8.0 |
针对不同 Scala 版本构建 Kyuubi
自 v1.8.0 起,Kyuubi 支持使用不同的 Scala profile 进行构建。目前,Kyuubi 支持使用 Scala 2.12 和 2.13 进行构建,默认使用 Scala 2.12。
| Profile | 默认 | 起始版本 |
|---|---|---|
| (Scala 2.12) | ✓ | - |
| -Pscala-2.13 | 1.8.0 |
当需要 Scala 2.13 支持时,请激活 scala-2.13 profile。GA 测试已涵盖 Kyuubi 服务器、引擎及相关插件的集成测试,但 Flink 引擎及其集成测试未包含在内,原因是 Flink 尚不支持 Scala 2.13,并且将逐步移除对 Scala 的客户端支持。
对于 Spark 引擎所使用的 Scala 版本,服务器会优先查找 SPARK_SCALA_VERSION 系统环境变量,若该变量未设置,则使用编译服务器时所采用的 Scala 版本。对于其他引擎所使用的 Scala 版本,服务器将使用编译服务器时所采用的 Scala 版本。
使用 Apache dlcdn 站点进行构建
默认情况下,我们使用 https://archive.apache.org/dist/ 下载引擎(如 Spark 或 Flink)的内置发行包。但有时你可能会发现该站点难以访问,或者下载速度过慢,此时可以通过 -Pmirror-cdn 定义 apache.archive.dist 来提升下载速度。例如:
build/mvn clean package -Pmirror-cdn该 profile 会将你的下载仓库迁移到 Apache 官方推荐的站点 - https://dlcdn.apache.org。请注意,该站点仅提供 Apache 最新版本的发行包。如果 spark.version 或 flink.version 中指定的特定版本已过期,则下载可能会失败。
使用 fast profile 构建
fast profile 可通过跳过运行测试、代码风格检查、构建 scaladoc、执行 enforcer 规则以及下载测试所需的引擎归档包,显著缩短构建时间,适用于开发或编译验证场景。
build/mvn clean package -Pfast评论
登录后参与评论
KnowForge