Apache kafka Kafka Connect-JDBC源连接器-设置Avro模式

Apache kafka Kafka Connect-JDBC源连接器-设置Avro模式,apache-kafka,avro,apache-kafka-connect,confluent-schema-registry,Apache Kafka,Avro,Apache Kafka Connect,Confluent Schema Registry,如何使Kafka将JDBC连接器连接到预定义的Avro模式?创建连接器时,它将创建一个新版本。我正在阅读DB2的文章,并将其转换为卡夫卡主题。 我正在创建期间设置架构名称和版本,但它不起作用!!!以下是我的连接器设置: { "name": "kafka-connect-jdbc-db2-tst-2", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector"

如何使Kafka将JDBC连接器连接到预定义的Avro模式?创建连接器时,它将创建一个新版本。我正在阅读DB2的文章,并将其转换为卡夫卡主题。 我正在创建期间设置架构名称和版本,但它不起作用!!!以下是我的连接器设置:

{ "name": "kafka-connect-jdbc-db2-tst-2", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "tasks.max": "1", "connection.url": "jdbc:db2://mydb2:50000/testdb", "connection.user": "DB2INST1", "connection.password": "12345678", "query":"SELECT CORRELATION_ID FROM TEST.MYVIEW4 ", "mode": "incrementing", "incrementing.column.name": "CORRELATION_ID", "validate.non.null": "false", "topic.prefix": "tst-4" , "auto.register.schemas": "false", "use.latest.version": "true", "transforms": "RenameField,SetSchemaMetadata", "transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value", "transforms.RenameField.renames": "CORRELATION_ID:id", "transforms.SetSchemaMetadata.type": "org.apache.kafka.connect.transforms.SetSchemaMetadata$Value", "transforms.SetSchemaMetadata.schema.name": "foo.bar.MyMessage", "transforms.SetSchemaMetadata.schema.version": "1" } } { “名称”:“kafka-connect-jdbc-db2-tst-2”, “配置”:{ “connector.class”:“io.confluent.connect.jdbc.JdbcSourceConnector”, “tasks.max”:“1”, “connection.url”:“jdbc:db2://mydb2:50000/testdb”, “connection.user”:“DB2INST1”, “连接密码”:“12345678”, “查询”:“从TEST.MYVIEW4中选择相关性\u ID”, “模式”:“递增”, “incrementing.column.name”:“CORRELATION\u ID”, “validate.non.null”:“false”, “主题前缀”:“tst-4”, “auto.register.schemas”:“false”, “use.latest.version”:“true”, “转换”:“重命名字段,设置SchemaMetadata”, “transforms.RenameField.type”:“org.apache.kafka.connect.transforms.ReplaceField$Value”, “transforms.RenameField.renames”:“CORRELATION\u ID:ID”, “transforms.SetSchemaMetadata.type”:“org.apache.kafka.connect.transforms.SetSchemaMetadata$Value”, “transforms.SetSchemaMetadata.schema.name”:“foo.bar.MyMessage”, transforms.SetSchemaMetadata.schema.version:“1” } } 下面是模式:V.1是我的,V.2是由JDBC源连接器创建的:

$ curl localhost:8081/subjects/tst-4-value/versions/1 | jq . { "subject": "tst-4-value", "version": 1, "id": 387, "schema": "{"type":"record","name":"MyMessage", "namespace":"foo.bar","fields":[{"name":"id","type":"int"}]}" } $ curl localhost:8081/subjects/tst-4-value/versions/2 | jq . { "subject": "tst-4-value", "version": 2, "id": 386, "schema": "{"type":"record","name":"MyMessage","namespace":"foo.bar", "fields":[{"name":"id","type":"int"}], "connect.version":1, "connect.name":"foo.bar.MyMessage" }" } $curl localhost:8081/subjects/tst-4-value/versions/1 | jq。 { “主题”:“tst-4-价值”, “版本”:1, “id”:387, “schema”:“{”type:“record”,“name:“MyMessage”, 命名空间“:”foo.bar“,”字段“:[{”名称“:”id“,”类型“:”int“}]}” } $curl localhost:8081/subjects/tst-4-value/versions/2 | jq。 { “主题”:“tst-4-价值”, “版本”:2, “id”:386, “schema:“{”type:“record”,“name:“MyMessage”,“namespace:“foo.bar”, “字段”:[{“名称”:“id”,“类型”:“int”}], “connect.version”:1, “connect.name”:“foo.bar.MyMessage” }" } 知道如何强制Kafka connector使用我的模式吗?
提前感谢,

AFAIK,在消息序列化为Avro并在注册表中注册后,将发生转换