gpt4 book ai didi

apache-kafka - 如何从 KTable 中获取排序后的 KeyValueStore?

转载 作者:行者123 更新时间:2023-12-02 03:17:41 25 4
gpt4 key购买 nike

我想从 KStream 中具体化一个 KTable,并且希望 KeyValueStore 按 Key 排序。

我尝试查找 KTable API 规范 ( https://kafka.apache.org/20/javadoc/org/apache/kafka/streams/kstream/KTable.html ),但不存在“排序”方法。我还查阅了这篇文章 ( https://dzone.com/articles/how-to-order-streamed-dataframes ),建议通过处理器 API 实现排序。但是,我正在检查是否可以通过其他方式实现这一点?

最佳答案

KafkaStream 允许您物化可查询状态存储。然后,您可以通过调用方法 kafkaStream#store() 获得对存储的只读访问权限。

如果您定义持久存储,KafkaStreams 将使用 RocksDB 来存储您的数据。返回的 KeyValueIterator 实例将使用 RocksDB 迭代器,它允许您以排序的方式迭代键值 Rocks Iterator-Implementation .

示例:

    KafkaStreams streams = new KafkaStreams(topology, props);
ReadOnlyKeyValueStore<Object, Object> store = streams.store("storeName", QueryableStoreTypes.keyValueStore());
KeyValueIterator<Object, Object> iterator = store.all();

关于apache-kafka - 如何从 KTable 中获取排序后的 KeyValueStore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55636157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com