confluent jdbc连接器无法使用时间戳列进行增量查询

qmelpv7a  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(436)

连接器加载:

{
  "name": "jdbc-source-test",
  "config": {
    "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
    "connection.url": "jdbc:mysql://localhost:3306/test?user=root&password=password",
    "table.whitelist":"test",
    "mode": "timestamp",
    "timestamp.column.name":"create_time",
    "topic.prefix": "test-mysql-jdbc-",
    "name":"jdbc-source-test"
  }
}

将下一条消息放入日志:

[2018-12-12 17:33:14,225] ERROR WorkerSourceTask{id=jdbc-source-test-0} Task threw an uncaught and unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask:177)
org.apache.kafka.connect.errors.ConnectException: Cannot make incremental queries using timestamp columns [create_time] on `test`.`test` because all of these columns nullable.

我建议它不起作用,因为此列的类型为bigint(20)。有什么解决办法吗?合流版本-5.0.1。

nwwlzxa7

nwwlzxa71#

我在postgresql上也遇到了同样的错误,在数据库中将error中提到的timestamp列设置为notnull可以解决这个问题。
另一种选择是使用 validate.non.null : false 在连接器配置中。 validate.non.null :默认情况下,jdbc连接器将验证所有递增表和时间戳表是否没有为用作其id/时间戳的列设置null。
如果表不这样做,jdbc连接器将无法启动。将此设置为false将禁用这些检查。

相关问题