管理自定义连接器

更新时间: 2023-07-27 17:31:49

本文为您介绍如何管理Flink全托管自定义连接器,包括创建、更新和删除。

背景信息

在使用Flink SQL开发作业时,需要使用SQL连接器连接您的源表、结果表和维表。Flink全托管产品支持云上常用的多种类型的连接器,但相对于目前大数据常用的技术栈而言,仍然只是较少的一部分,为了支持您可以使用更多类型的连接器,我们支持您自定义连接器后上传使用。

注意事项

  • 您需要根据社区定义的连接器标准开发您自定义的连接器,才能正确地被Flink全托管产品识别并使用,因此您需要明确的连接器Meta文件和申明Factory类。自定义连接器开发详情请参见User-defined Sources & Sinks

  • 同种类型的连接器仅可以上传一次。

  • 为了避免JAR包依赖冲突,您还需要注意以下几点:

    • Flink镜像和Pom依赖的Flink版本请保持一致。

    • 请不要上传Runtime层的JAR包,即在依赖中添加<scope>provided</scope>

    • 其他第三方依赖请采用Shade方式打包,Shade打包详情参见Apache Maven Shade Plugin

  • 如果一个作业使用了自定义连接器,在作业在运行中,更新了自定义连接器,则线上的作业不受影响。但如果您重新启动了作业,则作业会使用更新后的连接器。

注册与使用自定义连接器

  1. 进入自定义连接器注册入口。

    1. 登录实时计算控制台

    2. Flink全托管页签,单击目标工作空间操作列下的控制台

    3. 在左侧导航栏,单击数据连接

  2. 注册自定义连接器。

    1. 数据连接页面,单击创建自定义连接器

    2. 上传自定义连接器JAR文件。

      您可以通过以下任何一种方式上传自定义连接器JAR文件:

      • 上传文件:单击选择文件后,选择您的目标连接器JAR文件。

      • 外部URL:当JAR文件超过200 MB或者需要使用其他服务上存在的JAR文件时,可以使用外部URL功能获取JAR文件。例如,https://ossbucket/artifacts/namespaces/flink-default/flink-jobs-1.0-SNAPSHOT.jar

        说明
        • 当您JAR文件超过200 MB,可以将自定义连接器文件放在实时计算Flink全托管绑定的OSS Bucket的sql-artifacts/namespaces/{namespace}目录下,再使用该文件的HTTPS路径即可。

        • 在使用其他服务的HTTP路径时,需要该服务和实时计算Flink全托管在同一VPC下或者先打通实时计算Flink全托管和目标服务的公网网络后,使用公网地址,详情请参见Flink全托管集群如何访问公网?

    3. 上传完成后,单击下一步

      系统会对您上传的自定义连接器内容进行解析。如果解析成功,您可以继续下一步。如果解析失败,请确认您上传的自定义连接器代码是否符合Flink社区标准。

    4. 单击完成

      创建完成的自定义连接器会出现在连接器列表中。

  3. 在作业DDL中使用连接器。

    作业开发详情请参见SQL作业开发

    说明

    DDL定义中的WITH参数中的连接器取值为您自定义连接器JAR包中DynamicTableFactory的identifier参数取值,其他WITH参数及含义详情由您开发的自定义连接器决定。

更新自定义连接器

  1. 进入自定义连接器更新入口。

    1. 登录实时计算控制台

    2. Flink全托管页签,单击目标工作空间操作列下的控制台

    3. 在左侧导航栏,单击数据连接

  2. 自定义连接器页签,单击目标自定义连接器名称右侧的编辑

  3. 上传自定义连接器JAR文件。

    您可以通过以下任何一种方式上传自定义连接器JAR文件:

    • 上传文件:单击选择文件后,选择您的目标连接器JAR文件。

    • 外部URL:输入外部URL地址。例如,https://ossbucket/artifacts/namespaces/flink-default/flink-jobs-1.0-SNAPSHOT.jar

      说明
      • 如果外部URL是OSS Bucket地址,则自定义连接器文件必须位于sql-artifacts/namespaces/{namespace}目录下。

      • 如果您的连接器文件存放在非OSS的其他服务上,且和Flink全托管不在同一个VPC,则此处需要填写为公网服务地址。在使用公网地址前,您需要先打通实时计算Flink全托管和目标服务的公网网络链接。详情请参见Flink全托管集群如何访问公网?

  4. 上传完成后,单击下一步

    系统会对您上传的自定义连接器内容进行解析。如果解析成功,您可以继续下一步。如果解析失败,请确认您上传的自定义连接器代码是否符合Flink社区标准。

  5. 单击完成

删除自定义连接器

如果您的自定义连接器不再使用,您可以按照以下步骤删除自定义连接器。

  1. 进入自定义连接器删除入口。

    1. 登录实时计算控制台

    2. Flink全托管页签,单击目标工作空间操作列下的控制台

    3. 在左侧导航栏,单击数据连接

  2. 自定义连接器页签,单击目标自定义连接器右侧的删除

  3. 单击确定

阿里云首页 实时计算Flink版 相关技术圈