【发布时间】:2020-06-02 21:40:13
【问题描述】:
我有以下要求,我们正在从具有 CDC 插入/更新特定表的关系数据库中读取数据,并将这些作为事件导入 Kafka 主题。
例如jdbc-source-topic
|---------------------|------------------|------------------|
| Timestamp | ID | Column |
|---------------------|------------------|------------------|
| 10:00 | 1 | A |
|---------------------|------------------|------------------|
| 10:01 | 2 | B |
|---------------------|------------------|------------------|
| 10:01 | 1 | C |
|---------------------|------------------|------------------|
在管道结束时,我们希望每天使用一次这些事件,并避免相同 ID 的重复。
例如目标主题
|---------------------|------------------|------------------|
| Timestamp | ID | Column |
|---------------------|------------------|------------------|
| 10:01 | 2 | B |
|---------------------|------------------|------------------|
| 10:01 | 1 | C |
|---------------------|------------------|------------------|
在我看来,最好的解决方案是让一个具有 group_id 的消费者(以便第二天将偏移量存储在 kafka 中)运行一次。但这意味着消费者每次运行时都必须从获取的记录中删除重复项。
考虑到该表将来也可能用于 KSQL 连接,我想知道它是否存在使用 KSQL 查询的更好方法,以便消费者从一个已清理的主题中获取每个键的一条记录。
【问题讨论】:
标签: apache-kafka stream ksqldb