【问题标题】:Kafka JDBC connector not picking up new commitsKafka JDBC 连接器没有接收新的提交
【发布时间】:2018-01-29 00:51:36
【问题描述】:

我目前正在使用 Kafka JDBC 连接器从 Oracle 数据库中轮询记录。连接器属性设置为使用时间戳模式,我们在属性中提供了一个简单的选择查询(不使用 where 子句)——根据我的理解,这应该可以工作。

然而,目前在实例化连接器时,我可以看到初始查询确实提取了它应该提取的所有记录并将它们发布给 Kafka 消费者 - 但是没有提取到 Oracle 数据库的任何新提交并且连接器只是坐下在没有找到任何新信息的情况下进行轮询,并保持其偏移量。

连接器中没有抛出异常,除了没有在数据库中获取新提交之外,没有任何其他问题的迹象。

需要注意的一点是,我无法证明它有什么不同,那就是 oracle 数据库中的字段都是可以为空的。但是我已经测试了更改时间戳字段的设置,但它没有任何效果,并且相同的行为仍在继续。我还在批量模式下进行了测试,它工作正常并且确实接受了新的提交,但我不能使用批量模式,因为我们无法复制系统的记录。

有谁知道为什么连接器无法为时间戳模式获取新提交?

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    您的属性文件是什么样的?您需要确保使用递增列或时间戳列。 如果您使用的是时间戳列,它是否会在提交时更新? 关于空值,您可以调整查询以将空列合并为一个值。或者,我认为有一个设置允许可以为空的列。

    【讨论】:

      猜你喜欢
      • 2020-05-13
      • 2020-08-08
      • 2019-06-17
      • 2020-01-11
      • 2019-11-15
      • 2018-05-01
      • 2021-05-07
      • 1970-01-01
      • 2018-02-06
      相关资源
      最近更新 更多