我使用部署在Kafka Connect中的Debezium MySQL连接器将MySQL更改流式传输到Kafka主题,从中获取这些消息可以丰富数据并将数据推送到另一个MySQL。
源和汇都是MySQL。
我的源表中有两列,列数据类型为TIMESTAMP。
例如:创建时间:2021-10-06 09:32:46
我可以在下面的中看到Kafka消息中的上述数据
";create_time":"2021-10-06T09:32:46Z">
当消息加载到目标数据库(MySQL(时,在上面的字符串中使用T和Z面临问题,其中的数据类型也是TIMESTAMP。
我需要kafka消息中的create_time作为"create_time":"2021-10-06 09:32:46">不带TZ
错误日志:
- 行导入失败,错误为:(第1行的列"CREATE_TIME"的日期时间值"2021-10-06T09:32:46Z"不正确",1292(
我知道Debezium正在将时间戳列数据转换为ZonedDateTime,这可能会添加时区信息。(https://debezium.io/documentation/reference/1.7/connectors/mysql.html#mysql-时间类型(
我在Debezium连接器配置中尝试了org.apache.kafka.connect.transforms.TimestampConverter,但这没有帮助。
目前我在kafka连接配置中使用org.apache.kafka.connect.json.JsonConverter。
需要注意的是:我正在处理从Kafka接收的多条消息,构建一个csv文件,并通过使用LOAD DATA将csv内容推送到Target数据库。
您尝试使用"org.apache.kafka.connect.transforms.TimestampConverter"似乎方向正确,但用法不正确。对于每个目标列,时间戳转换对象"在接收器连接器中"必须非常正确地包含其"type"、"field"、"format"one_answers"target.type"。我对我的官方系列项目中的这个功能感到非常高兴