根据文件(https://docs.confluent.io/current/streams/developer-guide/manage-topics.html#internal-主题),内部主题遵循命名约定 <application.id>-<operatorName>-<suffix>
.
我们有一些例子:
testapplication-KSTREAM-REDUCE-STATE-STORE-0000000008-repartition
testapplication-KSTREAM-REDUCE-STATE-STORE-0000000027-repartition
有人知道整数是怎么确定的吗?
不幸的是,我们的安全要求不允许我们用应用程序创建主题,需要提前设置。我正在尝试确定这些主题名称是否一致。
4条答案
按热度按时间hs1ihplo1#
整数是内部生成的。
您可以在这里找到文档:
https://docs.confluent.io/current/streams/javadocs/index.html
在groupby方法描述下,它说:
因为选择了一个新的键,所以将在kafka中创建一个内部重新分区主题。此主题将命名为“${applicationid}- repartition”,其中“applicationid”是用户在streamsconfig中通过参数application\u id\u config指定的,“”是内部生成的名称,“-repartition”是固定后缀。您可以通过topology.descripe()检索所有生成的内部主题名称。
ki1q1bka2#
通常,中间主题名按以下约定构造:
后缀值可以是“changelog”或“repartition”
基于运算符,它使用一个后缀。举个例子:
testapplication聚合重新分区
testapplication聚合更改日志
1tuwyuhd3#
为了回答您关于主题名称是否一致的问题,根据我的经验,它们在应用程序的两次执行之间是一致的,但是,如果您修改逻辑中任何连接或减少的顺序、添加或删除,主题名称可能会更改。
eoigrqb64#
你见过这些命令设置acl流内部主题。我相信它们是作为Kafkav2.x.x(融合文档)的一部分引入的
所以您只需要知道steams application.id,它是所有内部主题的前缀。
我相信你们会给予所有人许可,这也会允许他们的创造。