我可以用apache点燃来进行亲和力计算机数据搭配。在以下两个示例中,它按预期工作。
console.log(strg.match('e','s'));
但是,我想针对所有节点数据运行lambda。例如,假设我已经为每个人缓存了所有来自亚马逊的订单。我想知道每个人订单的总金额是多少。
我可能只是错过了一个例子,但根据文档我不知道如何做到这一点。在我看到的例子中,我必须指定我想要计算的键。在这个例子中,我只想在所有节点上做一些lambda,每个节点只在它自己的数据共享上运行。
我试过这个
// Works on all nodes
IgniteUtil.getIgnite().compute().broadcast(() -> {
System.out.println("Should happen on all nodes");
cache.get(key).forEach(x -> {
System.out.println(x);
});
});
// Works on just the one node
IgniteUtil.getIgnite().compute().affinityRun(IgniteUtil.CACHE_NAME, key , () -> {
System.out.println("Should only happen on one node");
cache.get(key).forEach(x -> System.out.println(x));
});
并且它只在具有密钥的节点上执行,但是,缓存大小是完整缓存大小,而不仅仅是本地值。
有什么建议吗?