Kafka Jdbc Connect时间戳+递增模式

时间:2018-08-01 07:18:16

标签: apache-kafka apache-kafka-connect

我正在使用Kafka Jdbc Connect时间戳+递增模式将表行同步到Kafka。参考https://docs.confluent.io/current/connect/connect-jdbc/docs/source_config_options.html#mode

挑战在于,由于默认情况下的开始时间为1970,所以该表从时间开始进行同步。是否有任何方法可以超过开始时间(即,我只想从输入给定日期的开始进行同步)。

2 个答案:

答案 0 :(得分:0)

如果要使用连接器从给定的偏移量开始,建议覆盖connect-offsets主题中存储的信息。

通过Kafka REST API,您可以轻松阅读本主题的内容:

http://localhost:8082/topics/connect-offsets

在您描述的用例的相关方法中,浏览kafka-connector-jdbc的代码:

  • io.confluent.connect.jdbc.source.TimestampIncrementingCriteria#extractValues
  • io.confluent.connect.jdbc.source.TimestampIncrementingOffset#getTimestampOffset

覆盖连接偏移量主题内容似乎是目前唯一可用的方法。

答案 1 :(得分:0)

您需要将 timestamp.initial 设置为您想要的输入给定日期。需要设置成epoch格式。

timestamp+incrementing 模式下的 SQL 查询附加:

WHERE "DBTime" < 'system high date i.e. 9999-12-12T23:59:59+00:00' AND (("DBTime" = 'timestamp.initial' AND "DBKey" > '-1') OR "DBTime" > 'timestamp.initial') ORDER BY "DBTime","DBKey" ASC

https://docs.confluent.io/kafka-connect-jdbc/current/source-connector/source_config_options.html#mode