我有一个配置的源连接器,可从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主题。因此,考虑到这一点,您无需添加任何where子句来进行增量,但是,如果您希望将where子句用于静态查询,则可以执行以下操作:
“ query”:“从*中选择*(选择fname,lname,custId,custRegion,CustomerMaster的lastUpdate,其中lastUpdate在'10 / 12/2019'之间和'10 / 14/2019')o“,
您可以参考here了解更多详细信息