Kafka Streams 中用于流-流连接的默认 WindowBytesStoreSupplier 是什么?
What is the default WindowBytesStoreSupplier for stream-stream join in Kafka Streams?
新 API 的签名为:
join(KStream<K,VO> otherStream, ValueJoiner<? super V,? super VO,? extends VR> joiner, JoinWindows windows, StreamJoined<K,V,VO> streamJoined)
如果我只使用 StreamJoined<K,V,VO> streamJoined
参数设置商店名称,那么 WindowBytesStoreSupplier
在 retentionPeriod
、windowSize
和 [=15= 方面的默认配置是什么]?从文档中不清楚。这是内存状态存储吗?还是 Kafka Streams 默认配置的?
如果您只设置商店名称 StreamJoined
那么:
windowSize
来自您提供的 JoinWindows
配置对象。即使您使用自定义 WindowBytesStoreSupplier
,Kafka Streams 也会验证供应商 window 设置是否与提供的 JoinWindows
对象的设置相匹配。所以 JoinWindows.of(Duration.ofSeconds(30))
的 windowSize
等于 30000
ms.
retentionPeriod
是window大小+宽限期。默认宽限期为 24 小时。
retainDuplicates
配置为true
。但即使在提供自定义 StoreSupplier
时,retainDuplicates
字段也必须设置为 true
.
- 存储类型是持久性 (RocksDB) 存储,由 Kafka Streams 配置,如上所述。
此外,请注意,使用 StreamJoined
,您现在可以为连接的双方提供自己的 StoreSupplier
,因此可以在内存中存储。
HTH,
比尔
新 API 的签名为:
join(KStream<K,VO> otherStream, ValueJoiner<? super V,? super VO,? extends VR> joiner, JoinWindows windows, StreamJoined<K,V,VO> streamJoined)
如果我只使用 StreamJoined<K,V,VO> streamJoined
参数设置商店名称,那么 WindowBytesStoreSupplier
在 retentionPeriod
、windowSize
和 [=15= 方面的默认配置是什么]?从文档中不清楚。这是内存状态存储吗?还是 Kafka Streams 默认配置的?
如果您只设置商店名称 StreamJoined
那么:
windowSize
来自您提供的JoinWindows
配置对象。即使您使用自定义WindowBytesStoreSupplier
,Kafka Streams 也会验证供应商 window 设置是否与提供的JoinWindows
对象的设置相匹配。所以JoinWindows.of(Duration.ofSeconds(30))
的windowSize
等于30000
ms.retentionPeriod
是window大小+宽限期。默认宽限期为 24 小时。retainDuplicates
配置为true
。但即使在提供自定义StoreSupplier
时,retainDuplicates
字段也必须设置为true
.- 存储类型是持久性 (RocksDB) 存储,由 Kafka Streams 配置,如上所述。
此外,请注意,使用 StreamJoined
,您现在可以为连接的双方提供自己的 StoreSupplier
,因此可以在内存中存储。
HTH,
比尔