管理自定义连接器
本文为您介绍如何管理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。
如果一个作业使用了自定义连接器,在作业在运行中,更新了自定义连接器,则线上的作业不受影响。但如果您重新启动了作业,则作业会使用更新后的连接器。
注册与使用自定义连接器
进入自定义连接器注册入口。
登录实时计算控制台。
在Flink全托管页签,单击目标工作空间操作列下的控制台。
在左侧导航栏,单击数据连接。
注册自定义连接器。
在数据连接页面,单击创建自定义连接器。
上传自定义连接器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全托管集群如何访问公网?。
上传完成后,单击下一步。
系统会对您上传的自定义连接器内容进行解析。如果解析成功,您可以继续下一步。如果解析失败,请确认您上传的自定义连接器代码是否符合Flink社区标准。
单击完成。
创建完成的自定义连接器会出现在连接器列表中。
在作业DDL中使用连接器。
作业开发详情请参见SQL作业开发。
说明DDL定义中的WITH参数中的连接器取值为您自定义连接器JAR包中DynamicTableFactory的identifier参数取值,其他WITH参数及含义详情由您开发的自定义连接器决定。
更新自定义连接器
进入自定义连接器更新入口。
登录实时计算控制台。
在Flink全托管页签,单击目标工作空间操作列下的控制台。
在左侧导航栏,单击数据连接。
在自定义连接器页签,单击目标自定义连接器名称右侧的编辑。
上传自定义连接器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全托管集群如何访问公网?。
上传完成后,单击下一步。
系统会对您上传的自定义连接器内容进行解析。如果解析成功,您可以继续下一步。如果解析失败,请确认您上传的自定义连接器代码是否符合Flink社区标准。
单击完成。
删除自定义连接器
如果您的自定义连接器不再使用,您可以按照以下步骤删除自定义连接器。
进入自定义连接器删除入口。
登录实时计算控制台。
在Flink全托管页签,单击目标工作空间操作列下的控制台。
在左侧导航栏,单击数据连接。
在自定义连接器页签,单击目标自定义连接器右侧的删除。
单击确定。