使用 Kafka 实现 SQL 更新

Posted

技术标签:

【中文标题】使用 Kafka 实现 SQL 更新【英文标题】:Implement SQL update with Kafka 【发布时间】:2021-09-09 08:29:44 【问题描述】:

如何实现对存储在 Kafka 主题/Ktable 中的对象的更新?

我的意思是,如果我不需要替换整个值(压缩的 Ktable 会这样做),而是更新单个字段。我应该从主题/KTable 中读取、反序列化、更新对象,然后将新值存储在同一主题/KTable 中吗?

或者我应该加入/合并 2 个主题:一个具有原始值,第二个具有字段更新?

你会怎么做?

【问题讨论】:

【参考方案1】:

Kafka(和 RocksDB)存储字节;它无法比较嵌套字段,因为它们是数据库列。为此,无论如何都需要反序列化

要更新字段,您需要构造并发布整个值;一个 JOIN 将有效地做同样的事情

相关 - Is there a KSQL statement to update values in table?

【讨论】:

以上是关于使用 Kafka 实现 SQL 更新的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Kafka Connect for Sybase ASE 数据库实现变更数据捕获 (CDC)?

通过将单个消息发布到 kafka 来更新 mysql 中的多个字段

Kafka源码分析-序列2 -Producer -Metadata的数据结构与读取更新策略

Kafka Eagle V1.3.4更新预览

pySpark Kafka Direct Streaming 更新 Zookeeper / Kafka Offset

kafka源码分析Metadata的数据结构与读取更新策略