如何在Kafka或KSQL中修改或添加topic的key

San*_*ano 0 apache-kafka confluent-platform ksqldb

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

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

我个人使用 ksql 但我没有找到任何方法来做到这一点

Chr*_*tta 5

键被添加到记录,而不是主题。您可以简单地开始使用密钥编写记录。

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

您可以使用以下PARTITION BY 语句通过 KSQL 完成此操作:

CREATE STREAM KEYED_STREAM as \
  SELECT * FROM UNKEYED_STREAM PARTITION BY <key column>;
Run Code Online (Sandbox Code Playgroud)