gpt4 book ai didi

apache-kafka - Kafka Streams - 如何更好地控制内部创建的状态存储主题的分区?

转载 作者:行者123 更新时间:2023-12-05 05:16:50 26 4
gpt4 key购买 nike

Kafka Streams 中的状态存储是在内部创建的。状态存储按键分区,但不允许提供除以外的分区(据我所知)。

问题

如何控制状态存储内部创建主题的分区数?状态存储主题如何推断分区数和默认使用的分区,以及如何覆盖?

如果您想通过传入键值记录的键以外的其他方式对您的状态存储进行分区并进行联合分区,该如何解决?在这种情况下,我想按比我的常规 key 更具体的内容进行分区。例如。我有一个

case class RegularKey(fieldA: String)

我想按

划分
case class SpecificKey(fieldA: String, fieldB: String)

对于我的传入源主题,我在分区数上使用了一个 HashPartitioner。

最佳答案

更改日志主题分区的数量取决于输入主题分区的数量,您无法更改它,因为状态是基于此数量共享的(即,每个分片都有一个分区)。

如果你想通过一些属性来划分更新日志主题,你必须将它设置为键。在您的情况下,您必须将 SpecificKey 设置为消息 key 。不允许更改分区,因为它会“破坏”Kafka Streams 导致不正确的结果。

关于apache-kafka - Kafka Streams - 如何更好地控制内部创建的状态存储主题的分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50004841/

26 4 0