问题描述
我已经阅读了Hazelcast Jet的文档。
我已经看到可以在IMap接收器中添加/更新条目。 但是我从没见过从IMap删除条目的方法。
有办法吗?
解决方法
请参见来自JavaDoc的Sinks.mapWithMerging
:
/**
* Returns a sink that uses the supplied functions to extract the key
* and value with which to update a Hazelcast {@code IMap}. If the map
* already contains the key,it applies the given {@code mergeFn} to
* resolve the existing and the proposed value into the value to use. If
* the value comes out as {@code null},it removes the key from the map.
* Expressed as code,the sink performs the equivalent of the following for
* each item:
* <pre>
* K key = toKeyFn.apply(item);
* V oldValue = map.get(key);
* V newValue = toValueFn.apply(item);
* V resolved = (oldValue == null)
* ? newValue
: mergeFn.apply(oldValue,newValue);
* if (value == null)
* map.remove(key);
* else
* map.put(key,value);
* </pre>
...