gpt4 book ai didi

java - Hazelcast keySet 流媒体?

转载 作者:行者123 更新时间:2023-11-30 06:53:38 28 4
gpt4 key购买 nike

我是 Hazelcast 的新手,我正在尝试使用它来将数据存储在太大而无法容纳在单台计算机上的 map 中。

我需要实现的过程之一是检查 map 中的每个值并对其执行某些操作 - 不是累积或聚合,而且我不需要立即查看所有数据,因此有与此无关的内存问题。

我的简单实现是使用IMap.keySet(),然后迭代所有键以依次获取每个存储的值(并允许在处理后对该值进行GC),但是我担心的是,系统中会有如此多的数据,即使只是获取 key 列表也会足够大,给系统带来过度的压力。

我希望有一个流式 API,我可以以这样的方式流式传输 key (甚至完整条目),以便本地节点不必在本地缓存整个集合 - 但未能找到任何似乎与我在文档中。

如果您提出任何建议,我将不胜感激。谢谢。

最佳答案

Hazelcast Jet 提供 j.u.s 的分布式版本,并向 IMap 添加“流”功能。它允许在 Hazelcast 集群上执行 Java Streams API。

import com.hazelcast.jet.JetInstance;
import com.hazelcast.jet.stream.DistributedCollectors;
import com.hazelcast.jet.stream.IStreamMap;
import com.hazelcast.jet.stream.IStreamList;

import static com.hazelcast.jet.stream.DistributedCollectors.toIList;

final IStreamMap<String, Integer> streamMap = instance1.getMap("source");
// stream of entries, you can grab keys from it
IStreamList<String> counts = streamMap.stream()
.map(entry -> entry.getKey().toLowerCase())
.filter(key -> key.length() >= 5)
.sorted()
// this will store the result on cluster as well
// so there is no data movement between client and cluster
.collect(toIList());

请查找有关喷气式飞机的更多信息 here和更多示例 here .

干杯,维克

关于java - Hazelcast keySet 流媒体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42227680/

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