13.2. 使用带有 Debezium 连接器的自定义转换器
自定义转换器对源表中的特定列或列类型执行操作,以指定如何将源中的数据类型转换为 Kafka Connect 模式类型。要将自定义转换器与连接器搭配使用,您需要部署 converter JAR 文件以及连接器文件,然后将连接器配置为使用转换器。
13.2.1. 部署自定义转换器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
先决条件
- 您有一个自定义转换器 Java 程序。
流程
-
要将自定义转换器与 Debezium 连接器搭配使用,请将 Java 项目导出到 JAR 文件,并将文件复制到包含您要与之搭配使用的每个 Debezium 连接器的 JAR 文件的目录中。
例如,在典型的部署中,Debezium 连接器文件存储在 Kafka Connect 目录的子目录中(/kafka/connect),每个连接器 JAR 位于其自己的子目录中(/kafka/connect/debezium-connector-db2、/kafka/connect/debezium-mysql等)。要将转换器与连接器搭配使用,请将 converter JAR 文件添加到连接器的子目录。
注意
要将转换器与多个连接器搭配使用,您必须将 converter JAR 文件的副本放在每个连接器子目录中。
13.2.2. 将连接器配置为使用自定义转换器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要启用连接器使用自定义转换器,您可以在指定转换器名称和类的连接器配置中添加属性。如果转换器需要更多信息来自定义特定数据类型的格式,您也可以定义其他协调选项以提供该信息。
流程
通过在连接器配置中添加以下强制属性来为连接器实例启用转换器:
converters: <converterSymbolicName> <converterSymbolicName>.type: <fullyQualifiedConverterClassName>
converters: <converterSymbolicName>1 <converterSymbolicName>.type: <fullyQualifiedConverterClassName>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow converters: isbn isbn.type: io.debezium.test.IsbnConverter
converters: isbn isbn.type: io.debezium.test.IsbnConverterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要将其他属性与自定义转换器关联,请将属性名称与转换器的符号链接名称添加前缀,后跟点(
.)。符号名称是您指定为converters属性的值的标签。例如,要为上述isbnconverter 添加属性,以指定要传递给转换器代码中的configure方法的schema.name,请添加以下属性:isbn.schema.name: io.debezium.postgresql.type.Isbn
isbn.schema.name: io.debezium.postgresql.type.IsbnCopy to Clipboard Copied! Toggle word wrap Toggle overflow
更新于 2023-05-04