gpt4 book ai didi

jdbc - 时间戳模式下的 Kafka Connect - 如何附加到查询的末尾?

转载 作者:行者123 更新时间:2023-12-05 06:23:02 25 4
gpt4 key购买 nike

我有一个已配置的源连接器,从 DB2 检索并使用时间戳模式。例如:

    "name": "my-jdbc-connector",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"connection.url": "jdbc:db2://db2server.mycompany.com:4461/myDB",
"connection.user: "dbUser",
"connection.password": "dbPass",
"dialect.name": "Db2DatabaseDialect",
"mode": "timestamp",
"query": "select fname, lname, custId, custRegion, lastUpdate from CustomerMaster",
"timestamp.column.name": "lastUpdate",
"table.types": "TABLE",
"topic.prefix": "master.customer"
}
}

我需要使用“with UR”(未提交的读取,又名“脏读”)作为选择的一部分,以免锁定我正在查询的表。

但是,当使用时间戳模式时,Kafka Connect 会附加到 where 子句的末尾,如

where lastUpdate between '10/12/2019' and '10/14/2019';

DB2 要求“with UR”是 where 子句中的最后一件事。有谁知道是否可以像这样操纵 where 子句?我目前看不到时间戳模式和“with UR”如何共存。

最佳答案

您不能在 JDBC Kafka Connector 上传递动态查询。 JDBC 连接器用于通过使用基于时间戳的高水印来增量加载数据。这允许使用非常少的配置代码将数据从数据库带到 Kafka 主题。因此,考虑到这一点,您无需为 increment 添加 anywhere 子句,但是如果您希望为静态查询使用 where 子句,您可以按照以下所述进行操作:

  1. 如下使用子查询

"query": "select * from (select fname, lname, custId, custRegion,lastUpdate from CustomerMaster where lastUpdate between '10/12/2019'and '10/14/2019' ) o",

  1. 在表 CustomerMaster 上创建 View 并在您的 JDBC 连接器上使用 View 。

更多详情可以引用here

关于jdbc - 时间戳模式下的 Kafka Connect - 如何附加到查询的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58696147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com