连接器的加载:
{
"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。
答案 0 :(得分:1)
我在Postgresql上遇到了同样的错误,并设置了数据库中错误NOT NULL中提到的timestamp列来解决该问题。
另一种选择是在连接器配置中使用validate.non.null
:false
。
validate.non.null
:默认情况下,JDBC连接器将验证 所有递增表和时间戳表均未将NULL设置为 列用作其ID /时间戳。如果没有这些表,则JDBC连接器将无法启动。设定这个 设置为false将禁用这些检查。