0

我们正在寻找使用 kafka-connect-jdbc 将数据从我们的旧数据库(在 mysql 上)导入到 kafka。我已经能够设置基本示例并使其正常工作。

问题之一是应该是时间戳的列之一对于我们得到异常的所有行都具有无效值:

java.sql.SQLException:值 '0000-00-00' 不能表示为 java.sql.Timestamp

我可以轻松地排除该列,并通过编写排除该列的选择查询,使用 kafka-connect-jdbc 中的自定义查询选项导入数据。只是想了解偏移管理等方面的含义。根据文档,问题之一是这会将我限制为每个连接器的单个主题。还有什么需要注意的吗?

4

1 回答 1

0

我使用连接字符串中的 mysql zeroDateTimeBehavior 选项解决了这个特定问题(对于日期)。添加类似 &zeroDateTimeBehavior=round 之类的内容为我修复了日期不再保持为 0000-00-00 的问题。更多信息在这里:

来自 MySql 文档

zeroDateTimeBehavior

当驱动程序遇到完全由零组成的 DATETIME 值(由 MySQL 用来表示无效日期)时应该发生什么?有效值为“exception”、“round”和“convertToNull”。

默认值:异常

自版本:3.1.4

我仍然想知道使用自定义查询的含义。

于 2016-07-01T16:35:41.493 回答