【发布时间】:2020-11-26 23:55:52
【问题描述】:
我有一个用于多个主题(topic_a、topic_b、topic_c)的 S3 接收器连接器,并且 topic_a 有字段 created_date 和 topic_b、topic_c 有 creation_date。我使用下面的transforms.RenameField.renames 重命名了该字段 (created_date:creation_date) 但由于唯一的 topic_a 有 created_date 而其他没有,连接器失败了。
我想将所有消息(来自具有单个连接器的所有主题)移动到带有 creation_date 的 s3 中(如果存在,则将 created_date 重命名为 creation_date),但我无法找出正则表达式或转换器来重命名该字段(如果它存在)针对特定主题。
"config":{
"connector.class":"io.confluent.connect.s3.S3SinkConnector",
"errors.log.include.messages":"true",
"s3.region":"eu-west-1",
"topics.dir":"dir",
"flush.size":"5",
"tasks.max":"2",
"s3.part.size":"5242880",
"timezone":"UTC",
"locale":"en",
"format.class":"io.confluent.connect.s3.format.json.JsonFormat",
"errors.log.enable":"true",
"s3.bucket.name":"bucket",
"topics": "topic_a, topic_b, topic_c",
"s3.compression.type":"gzip",
"partitioner.class":"io.confluent.connect.storage.partitioner.DailyPartitioner",
"name":"NAME",
"storage.class":"io.confluent.connect.s3.storage.S3Storage",
"key.converter.schemas.enable":"true",
"key.converter":"org.apache.kafka.connect.storage.StringConverter",
"value.converter.schemas.enable":"true",
"value.converter":"io.confluent.connect.avro.AvroConverter",
"value.converter.schema.registry.url":"https://schemaregistry.com",
"enhanced.avro.schema.support": "true",
"transforms": "RenameField",
"transforms.RenameField.type": "org.apache.kafka.connect.transforms.ReplaceField$Value",
"transforms.RenameField.renames": "created_date:creation_date"
}
【问题讨论】:
标签: apache-kafka apache-kafka-connect