如何在阿里云实时计算Flink版上通过Flink Datastream以Paimon REST访问DLF Catalog。
前提条件
已创建Flink全托管工作空间。如未创建,详情请参见开通实时计算Flink版。
已创建DLF Catalog。详情请参见DLF 快速入门。
请确保Flink工作空间与DLF位于同一地域下,且添加Flink所在VPC为白名单,请参见配置VPC白名单。
说明DLF默认仅开启VPC访问。如需开启公网访问,请参见开启并配置公网访问。
准备工作
在Apache Paimon官网下载1.1+版本的
paimon-flink-*.jar。在Apache Paimon官网的Filesystems下载1.1+版本的
paimon-oss-*.jar。
选择依赖引入方式
Flink运行环境不自带Paimon连接器和OSS文件系统。您必须通过以下任一方式确保paimon-flink-*.jar和paimon-oss-*.jar在作业运行时可用。
方式一:在控制台上传附加文件
无需修改pom.xml。在实时计算Flink版开发控制台创建JAR作业时,将准备工作中下载的paimon-flink-*.jar和paimon-oss-*.jar作为附加依赖文件上传。
方式二:通过Maven打入fat JAR
在项目的pom.xml中添加以下依赖和属性配置。
<properties>
<!-- Paimon版本号,填写1.1+版本 -->
<paimon.version>1.1.0</paimon.version>
<!-- Flink主版本号,按VVR版本填写,见下表 -->
<flink.main.version>1.20</flink.main.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.paimon</groupId>
<artifactId>paimon-flink-${flink.main.version}</artifactId>
<version>${paimon.version}</version>
</dependency>
<dependency>
<groupId>org.apache.paimon</groupId>
<artifactId>paimon-oss</artifactId>
<version>${paimon.version}</version>
</dependency>
</dependencies>${flink.main.version}取值如下。
VVR版本 |
|
VVR 8.x | 1.17 |
VVR 11.x | 1.20 |
选择此方式后,依赖将随fat JAR一起打包,部署时无需额外上传JAR文件。
步骤一:编写作业代码
在DataStream作业的main()方法中,通过以下代码创建DLF Catalog实例。
Options options = new Options();
options.set("type", "paimon");
options.set("metastore", "rest");
options.set("uri", "http://<region-id>-vpc.dlf.aliyuncs.com");
options.set("warehouse", "your-catalog-name");
options.set("token.provider", "dlf");
options.set("dlf.access-key-id", "your-access-key-id");
options.set("dlf.access-key-secret", "your-access-key-secret");
Catalog catalog = FlinkCatalogFactory.createPaimonCatalog(options);必填参数说明:
参数 | 描述 | 示例 |
type | Catalog类型,从自定义JAR自动解析,请勿更改。 | paimon |
metastore | metastore类型,固定为rest。 | rest |
uri | DLF REST Catalog Server的VPC接入点,格式为 | http://cn-hangzhou-vpc.dlf.aliyuncs.com |
warehouse | DLF Catalog名称。 | dlf_test |
token.provider | Token提供方,固定为dlf。 | dlf |
dlf.access-key-id | 阿里云账号或者RAM用户的AccessKey ID。 | - |
dlf.access-key-secret | 阿里云账号或者RAM用户的AccessKey Secret。 | - |
创建Catalog后,即可在DataStream作业中注册并使用该Catalog读写Paimon表。
步骤二:打包并部署
将DataStream作业打包为JAR文件。
在实时计算Flink版控制台上传作业JAR并提交。
如果您选择了方式一(控制台上传附加文件),请在提交作业时,将
paimon-flink-*.jar和paimon-oss-*.jar添加到附加依赖中。
关于Flink JAR作业的开发方法和调试方法,详情请参见JAR作业开发。