【问题标题】:How to modify or add a key of topic in Kafka or KSQL如何在 Kafka 或 KSQL 中修改或添加主题的键
【发布时间】:2020-05-14 00:19:45
【问题描述】:

我创建了很多没有密钥的主题,我如何修改它们并添加正确的主题?

我需要为一些希望它们正确阅读主题的连接器更改此设置

我个人使用ksql,但没有找到任何方法

【问题讨论】:

  • 你能展示一个样本记录以及你想从中得到什么键吗?

标签: apache-kafka confluent-platform ksqldb


【解决方案1】:

键被添加到记录,而不是主题。你可以简单地开始用钥匙写你的记录。

您无法向已发布的记录添加密钥,因为 Kafka 日志是不可变的。为此,您可以使用包含未键入记录的主题中的数据,并在每条记录中设置一个密钥并将它们重新发布到另一个主题。

您可以使用 PARTITION BY statement 使用 KSQL 来完成此操作:

CREATE STREAM KEYED_STREAM as \
  SELECT * FROM UNKEYED_STREAM PARTITION BY <key column>;

【讨论】:

  • 但是我如何在接收器连接器中使用这个键控流?
  • 这个键控流将是源主题,KSQL 正在创建一个新主题,您可以通过运行show streams; 看到这一点。将该主题作为接收器连接器的源主题。
  • @Sano 您可以使用 Connect 的 SMT 功能在 Connect 配置中创建/提取密钥
猜你喜欢
  • 2013-05-10
  • 2021-01-09
  • 1970-01-01
  • 2014-10-26
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多