背景
官网提供了 iceberg-flink-runtime 二进制的下载链接(https://repo.maven.apache.org/maven2/org/apache/iceberg/iceberg-flink-runtime/),但是该二进制包是基于 Scala 2.12 编译的,并且 flink 的子版本也与笔者实验环境的版本(Flink 1.13.6)有所不同。因此,有了下载 iceberg 源码,并自行编译的想法。
系统环境
Ubuntu: 20.04
Scala: 2.11
Gradle: 7.4
准备工作
1. 下载源码
git clone https://github.com/apache/iceberg.git
2. 修改 gradle.properties 的 Flink 默认版本
$ cd /opt/iceberg
$ vi gradle.properties
systemProp.defaultFlinkVersions=1.13
3. 修改 build.gradle 的 Flink 子版本
$ cd /opt/iceberg/flink/v1.13
$ vi build.gradle
String flinkVersion = ‘1.13.6’
开始编译
## 进入 /opt/iceberg/flink 目录,只编译 flink 相关的源码
$ cd /opt/iceberg/flink
$ gradlew build -x test
编译完成后可以在如下目录找到 iceberg-flink-runtime 的 Jar 文件
$ ls -l /opt/iceberg/flink/v1.13/flink-runtime/build/libs/
total 23748
-rw-rw-r-- 1 ubuntu ubuntu 5660 Feb 27 22:04 iceberg-flink-runtime-1.13-0.13.0-SNAPSHOT-javadoc.jar
-rw-rw-r-- 1 ubuntu ubuntu 5660 Feb 27 22:04 iceberg-flink-runtime-1.13-0.13.0-SNAPSHOT-sources.jar
-rw-rw-r-- 1 ubuntu ubuntu 5660 Feb 27 22:04 iceberg-flink-runtime-1.13-0.13.0-SNAPSHOT-tests.jar
-rw-rw-r-- 1 ubuntu ubuntu 24292350 Feb 27 22:04 iceberg-flink-runtime-1.13-0.13.0-SNAPSHOT.jar