这个问题是Kafka Streams 在 HDFS 上查找数据的后续问题。我需要将小字典数据加入(如“地图端”加入)到主要的 Kafka 流
AFAIK,Kafka Stream 实例始终适用于主题的给定分区。如果我想进行查找,我需要为连接键重新分区两个流,以将相关记录放在一起。
如果需要检查多个查找数据,那么来回重新分区几次的成本是多少?不可能将整个查找数据集发送到每个分区,因此当我KTable
从查找主题构建一个时,我将在所有 Kafka Stream 应用程序实例中看到整个数据集。因此,我可以在KStream#transform()
将本地 RocksDB 存储与我拥有的所有查找数据一起使用的方法中进行查找。
我想知道哪个选项更合适:
将相同的数据(整个数据集)插入主题的每个分区并在
KStream#transform
. 当主题被过度分区时,我们会有很多重复的数据,但对于一个小数据集,这应该不是问题。使用 DSL API 对两个流进行重新分区,以便能够执行查找(连接)。就性能而言,这意味着什么?