Apache kafka 卡夫卡主题似乎只是第一次发挥作用。为什么?
我正在与Kafka Connect合作(使用汇合实现),并看到一种奇怪的行为。我将源连接配置为从DB表中提取数据,并填充主题。这很有效。 但是,如果我删除主题,删除源配置,然后重置配置(可能会向查询中添加另一列),则不会填充主题。如果我将主题名称更改为以前从未使用过的名称,则它会起作用。我正在使用Postman来设置配置,尽管我认为这在这里并不重要 我的连接配置:Apache kafka 卡夫卡主题似乎只是第一次发挥作用。为什么?,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我正在与Kafka Connect合作(使用汇合实现),并看到一种奇怪的行为。我将源连接配置为从DB表中提取数据,并填充主题。这很有效。 但是,如果我删除主题,删除源配置,然后重置配置(可能会向查询中添加另一列),则不会填充主题。如果我将主题名称更改为以前从未使用过的名称,则它会起作用。我正在使用Postman来设置配置,尽管我认为这在这里并不重要 我的连接配置: { "name": "my-jdbc-connector", "config": { "connec
{
"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"
}
}
KAFKA JDBC连接器在时间戳列上使用HighWatermark,即您案例中的最后一次更新。它不依赖于主题,甚至您可以删除JDBC连接器并使用相同的名称重新创建它。它仍然将使用相同的HighWatermark,因为HighWatermark取决于连接器名称。因此,即使重新创建主题,也不会再次加载数据。 因此,有一种方法可以再次重新处理整个数据,您可以采用以下任一方法: