在一个Hazelcast地图中分组数百万条记录并创建新地图

时间:2017-08-04 07:33:45

标签: hazelcast hazelcast-imap

我正在寻找性能,同时在一个淡褐色地图中对记录进行分组(可能是数百万)并存储在其他地图的淡褐色中。

例如:

在第一个hazelcast地图中,我有记录(占用10000),它是String格式(使用来自java POJO的ObjectMapper转换为字符串)。

每个记录与一个学生有关但不是顺序,即第一个记录可以是学生1,第二个记录可以是学生2,第三个记录可以是学生1,等等。

现在我想按学生分组所有10k记录并存储在其他地图中,所以说第二张地图应该是Map<studenid, List<Record>>,其中studentid是字符串,值是与该学生相关的第一张地图中的记录列表。 / p>

我已经编写了代码来编写记录并且工作得很好但是花了很多时间说10k记录需要花费4分钟。

我的代码流程

  1. 使用JDK8流功能的第一个hazelcast地图的流数据。
  2. 对于每条记录,在hazelcast中检查第二张地图是否存在任何记录(此处为List)。
  3. 如果没有,则创建新的List,将记录放入该列表,并将列表放入hazelcast的新地图中。
  4. 对所有10k记录执行上述所有步骤。
  5. 有人建议更好的方法来实现,因为实际预期记录超过300k?

0 个答案:

没有答案