我正在使用Hazelcast3.6IMap分布式存储大量数据(我已经在1B个项目上进行了测试)。我想通过键加入2个IMap实例,但似乎没有任何内置的功能来做到这一点。因此,如果键相等,我使用@patritionaware
将这些映射的条目存储在同一个节点中,然后在claster的每个成员上使用第一个映射的set
。在此之后,我尝试从同一节点上的第二个映射中获取值,以避免网络传输谓词键。但getAll(Set
似乎不在同一节点上执行此操作。有人已经有同样的问题了吗?是否可以基于Hazelcast功能来解决它?
请参阅下面的代码示例
public class PartitionAwareKey implements PartitionAware, Serializable { private Integer key; public PartitionAwareKey(Integer key) { this.key = key; } @Override public Integer getPartitionKey() { return this.key; } }
public class FindDataWithPredicateTask implements HazelcastInstanceAware, Serializable, Callable>> { ... @Override public IMap call() throws Exception { IMap map1 = hazelcastInstance.getMap("map1"); Set localKeySet = map1.localKeySet(); IMap, String> map2 = hazelcastInstance.getMap("map2"); return map2.getAll(localKeySet); } ...
我猜您要找的是EntryProcessor
。此EP还必须实现HazelCastInstanceAware
以访问其他数据结构。仍然重要的是应用数据亲和力,就像您已经做的那样,以确保属于一起的数据存储在同一个分区中,以便可以访问。
有关EntryProcessor的更多信息可以在文档(http://docs.hazelcast.org/docs/3.6/manual/html-single/#entry-processing-with-imap-methods)中获得,示例可以在我们的示例库(https://github.com/hazelcast/hazelcast-code-samples/tree/master/distributed-map/entry-processor)中找到。
请随时询问进一步的信息。
我试图从表TABLE_A中检索数据,表TABLE_A包含列bb_num。 > 我需要用JPA BooleanExpression编写表达式, 需要从JPA谓词逻辑生成以下SQL查询: 而这个GA22和GA33是动态来的,所以这个where条件是动态添加的。 上面的代码类似于SQL, 需要工作
我有一个淡褐色IMAP看起来像 在val1,val2上建立索引我正在尝试获取say
我知道如何通过谓词查找列表的第一个元素:Java8通过谓词查找第一个元素 有没有一种简单的方法可以得到那个元素的索引? 编辑:链接的问题确实提供了答案,但我在搜索时找不到它,因为它的措辞。因此,我宁愿保留这个问题。
下面是XML 我做错了什么..
如何将侦听器设置为一个映射,该映射的键有一个复杂的对象,并且我只想侦听具有特定键参数值的条目发生的更改。 例如,我有一个类似于此的代码: 但当一个包含“EN”语言的键的条目被更新时,我的回调函数不会被调用。所以我假设我的谓词是错误的。
问题内容: 我正在研究Weka,需要为每个测试实例输出每个标签的谓词值(概率)。 在GUI中,分类选项卡中有一个选项(分类->选项->输出预测值),该选项通过输出每个标签的预测概率来完成此工作,但是如何在Java代码中执行此操作。我想对每个标签进行分类后获得概率分数吗? 问题答案: 以下代码接受一组训练实例,并输出特定实例的预测概率。 方法“ distributionForInstance”仅适用