- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我了解两者之间的区别,但似乎我仍然使用 KTable
作为“默认”,不知道何时更喜欢 GlobalKTable
.
请分享您的经验,什么时候有GlobalKTable
是必须的,为什么不使用它等等。
最佳答案
关键是KTable
是分区的,这意味着如果您有一个包含 N 个分区的基础主题,则负责这些分区子集的实例将有权访问这些分区上的数据,但不能访问此实例未管理的分区上的数据.
然而,GlobalKTable
将使用所有实例中的所有主题数据。例如,您希望将其用于与一组外部数据的连接,这些数据的分区与传入数据没有直接关联(或无法预测其关系)。
例如。假设您有来自 users
的流主题,使用默认循环分区,具有 country
领域,你需要丰富这个 users
使用来自用户所在国家/地区的数据进行流式传输。然后,您可以使用 GlobalKTable
与国家的数据,并加入例如users
流与一个 country GlobalKTable
在国家。
由于 GlobalKTable 允许您访问所有潜在的可连接数据,因此对于较小的数据,它比 KTable 更有效,因为您不需要为该连接重新分区数据(所有数据都在那里)。但是您应该注意大小:您必须处理每个分区中的所有数据集。这就是为什么它通常用于有限大小的数据集合,也不是超大的。
如果您在 KStream
之间执行连接和一个 KTable
,它需要重新分区数据(创建一个内部主题),根据加入键重新分组数据。
同样,如果您使用处理器 API,如果您查询 KTable
从一个实例中,您将拥有该实例生成的数据,而不是其他实例。
更新 :另见@matthias-j-sax 关于同步的评论。
关于apache-kafka-streams - 使用 1 个分区时何时使用 GlobalKTable 而不是 KTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53819754/
我无法理解如何将数据保存到 globalKTable。我尝试使用 在 Java 中创建 GlobalKTable GlobalKTable globalTable = builder.globalTa
我无法理解如何将数据保存到 globalKTable。我尝试使用 在 Java 中创建 GlobalKTable GlobalKTable globalTable = builder.globalTa
我们有一个带有单个分区的压缩主题,并向其中添加了一个新分区。 我们没有对现有数据进行重新分区 - 这意味着在添加新分区之前加载的事件仍在分区 0 中。新事件按照标准策略存储,正如预期的那样:具有相同键
使用 Kafka Stream,我总是使用以下代码从引用紧凑主题初始化我的商店: builder.globalTable(kafkaTopic, Materialized.as("storeMerch
我有一个主题,在商店中被读取为 GlobalKTable 和 Materialized。问题是,如果我更新该主题的 key ,然后从存储中读取,一段时间(~0.5秒)我会得到旧值。 此问题的原因可能是
我想 ReKey 一个 GlobalKTable(可能是在初始化它的时候,因为我相信它们一旦创建就只读)。 这可能吗? 我在 Spring/Java Kafka Streams 应用程序中处理了两个主
我用来创建 GlobalKTable 的话题非常活跃。在 KStream-GlobalKTable join 的文档中我读了 The GlobalKTable is fully bootstrappe
我有一个输入流: KStream inputStream = ... 我想以输出到 GlobalKTable 的方式进行操作(过滤然后聚合)然后我可以使用: KeyValueIterator = st
我有一个输入流: KStream inputStream = ... 我想以输出到 GlobalKTable 的方式进行操作(过滤然后聚合)然后我可以使用: KeyValueIterator = st
我的目标是拥有一个数据流 (KStream),其 ID 为 Integer,值为 String,在本例中,我们将在值中存储某人的姓名。然后我还将使用 GlobalKTable 创建一个查找表,该表将术
我有一个基于 Spring 云流的 Kafka Streams 应用程序,我在其中将 Global KTable 绑定(bind)到 Compact 主题。当我将墓碑记录推送到主题(具有空值的非空键)
我了解两者之间的区别,但似乎我仍然使用 KTable作为“默认”,不知道何时更喜欢 GlobalKTable . 请分享您的经验,什么时候有GlobalKTable是必须的,为什么不使用它等等。 最佳
为什么全局表不能在kafka中启用日志记录? 代码: if (loggingEnabled) { throw new TopologyException("StateStore " + sto
在 Kafka Stream 库中,我想知道 KTable 和 GlobalKTable 之间的区别。 同样在 KStream 类中,还有两个方法 leftJoin()和 outerJoin() .这
我是一名优秀的程序员,十分优秀!