kafka-connect-jdbc日期时间

时间:2016-06-30 15:07:18

标签: apache-kafka confluent

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

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

  

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

我可以轻松地排除该列,并通过编写除该列之外的选择查询,使用kafka-connect-jdbc中的自定义查询选项导入数据。只是想了解偏移管理等方面的影响。根据文档,其中一个问题是,这会限制我每个连接器的单个主题。还需要记住其他任何事情吗?

1 个答案:

答案 0 :(得分:0)

我在连接字符串中使用mysql zeroDateTimeBehavior选项解决了这个特殊问题(对于日期)。添加像这样的东西& zeroDateTimeBehavior = round为我修复了它的日期不再是EA。更多信息:

来自MySql文档

zeroDateTimeBehavior
  

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

     

默认值:例外

     

自版本:3.1.4

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