Flink DataStream对接DLF Paimon Catalog

本文为您介绍如何通过Flink DataStream作业将数据高效写入DLF Paimon Catalog,实现数据湖存储与管理。

前提条件

创建DLF Paimon Catalog

详情请参见DLF 快速入门

DataStream作业对接Paimon Catalog

关于Flink JAR作业的开发方法和调试方法,详情请参见JAR作业开发

  1. DataStream作业中,您可以通过以下两种方式引入 paimon-oss-*.jar 和 paimon-flink-*.jar

    • 作为附加文件上传:在提交Flink作业时,将这两个JAR文件作为附加依赖上传。

    • 通过Maven依赖引入:以Maven依赖的方式添加 paimon-oss-*.jarpaimon-flink-*.jar 的依赖配置,格式如下。

      <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>

      参数说明:

      • ${paimon.version}:表示Paimon的版本号,根据需求填写 1.1+ 版本号。

      • ${flink.main.version}:表示Flink的主版本号,需按提交作业的VVR版本进行替换。

        提交作业到VVR 8.x

        <properties>
          <paimon.version><!-- 在这里填写1.1+版本 --></paimon.version>
          <flink.main.version>1.17</flink.main.version>
        </properties>

        提交作业到VVR 11.x

        <properties>
          <paimon.version><!-- 在这里填写1.1+版本 --></paimon.version>
          <flink.main.version>1.20</flink.main.version>
        </properties>
  2. 创建Paimon Catalog时,使用下面的配置。

    Options options = new Options();
    options.set("type", "paimon");
    options.set("metastore", "rest");
    options.set("uri", "dlf_uri");
    options.set("warehouse", "your_catalog");
    options.set("token.provider", "dlf");
    options.set("dlf.access-key-id", "***");
    options.set("dlf.access-key-secret", "***");
    Catalog catalog = FlinkCatalogFactory.createPaimonCatalog(options);

    参数说明如下。

    参数

    描述

    是否必填

    示例

    type

    Catalog类型,从自定义JAR自动解析,请勿更改。

    paimon-1-ali-11.0

    metastore

    metastore类型,固定为rest。

    rest

    uri

    访问DLF Rest Catalog ServerURI,格式为http://[region-id]-vpc.dlf.aliyuncs.com。详见服务接入点中的Region ID。

    http://cn-hangzhou-vpc.dlf.aliyuncs.com

    warehouse

    DLF Catalog名称。

    dlf_test

    token.provider

    Token提供方,固定为dlf。

    dlf

    dlf.access-key-id

    阿里云账号或者RAM用户的AccessKey ID。详情请参见查看RAM用户的AccessKey信息

    -

    dlf.access-key-secret

    阿里云账号或者RAM用户的AccessKey Secret。

    -

    重要

    由于DLF目前仅支持VPC接入,本地测试暂时不能运行DataStream作业,请到DLFVPC的集群环境中集群进行测试。