簡體   English   中英

Kafka Connect Debezium MySQL 連接器時間戳問題

[英]Kafka Connect Debezium MySQL Connector Timestamp Issue

I'm using Debezium MySQL Connector deployed in Kafka Connect to Stream MySQL Changes to Kafka Topics and from where we fetch these messages enrich data and push the data to another MySQL.

源和匯都是 MySQL。

我的源表中有幾列,列數據類型為TIMESTAMP

例如:創建時間:2021-10-06 09:32:46

我可以在 Kafka Message 中看到上述數據,如下所示

"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 正在將 Timestamp 列數據轉換為 ZonedDateTime,這可能會添加 TimeZone 信息。 https://debezium.io/documentation/reference/1.7/connectors/mysql.html#mysql-temporal-types

我在 Debezium 連接器配置中嘗試了 org.apache.kafka.connect.transforms.TimestampConverter 但這沒有幫助。

目前我在 Kafka Connect 配置中使用 org.apache.kafka.connect.json.JsonConverter。

注意事項:我正在批處理從 Kafka 收到的多條消息,構造一個 csv 文件並使用LOAD DATA我將 csv 內容推送到目標數據庫。

您嘗試使用 'org.apache.kafka.connect.transforms.TimestampConverter' 的方向似乎正確,但用法不正確。 在接收器連接器中轉換 object 的時間戳必須非常正確地包含每個目標列的“類型”、“字段”、“格式”和“目標類型”。 我對我的官方系列項目中的這個功能非常滿意。 ;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM