首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合流jdbc连接器无法使用时间戳列执行增量查询

问合流jdbc连接器无法使用时间戳列执行增量查询
EN

Stack Overflow用户
提问于 2018-12-12 22:57:24
回答 2查看 945关注 0票数 2

正在加载连接器:

代码语言:javascript
复制
{
  "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"
  }
}

将下一条消息记录到日志中:

代码语言:javascript
复制
[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。

EN

回答 2

Stack Overflow用户

发布于 2020-09-22 05:32:19

我在Postgresql上遇到了同样的错误,在数据库中设置错误NOT NULL中提到的时间戳列解决了这个问题。

另一种选择是在连接器配置中使用validate.non.null:false。

validate.non.null:缺省情况下,JDBC连接器将验证所有增量表和时间戳表是否没有为用作其ID/时间戳的列设置空值。

如果表不这样做,JDBC连接器将无法启动。将其设置为false将禁用这些检查。

票数 2
EN

Stack Overflow用户

发布于 2022-01-27 07:03:27

解决此问题的简单方法是在配置文件中添加"validate.non.null":“false

代码语言:javascript
复制
{
  "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-",


     "validate.non.null": "false"

  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53745747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档