本文整理汇总了Java中storm.trident.state.ValueUpdater类的典型用法代码示例。如果您正苦于以下问题:Java ValueUpdater类的具体用法?Java ValueUpdater怎么用?Java ValueUpdater使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ValueUpdater类属于storm.trident.state包,在下文中一共展示了ValueUpdater类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: updateState
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@Override
public void updateState(MapState map, List<TridentTuple> tuples, TridentCollector collector) {
List<List<Object>> groups = new ArrayList<List<Object>>(tuples.size());
List<ValueUpdater> updaters = new ArrayList<ValueUpdater>(tuples.size());
for(TridentTuple t: tuples) {
groups.add(_groupFactory.create(t));
updaters.add(new CombinerValueUpdater(_agg,_inputFactory.create(t).getValue(0)));
}
List<Object> newVals = map.multiUpdate(groups, updaters);
for(int i=0; i<tuples.size(); i++) {
List<Object> key = groups.get(i);
Object result = newVals.get(i);
collector.emit(_factory.create(new List[] {key, new Values(result) }));
}
}
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:18,代码来源:MapCombinerAggStateUpdater.java
示例2: updateState
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@Override
public void updateState(MapState map, List<TridentTuple> tuples, TridentCollector collector) {
List<List<Object>> groups = new ArrayList<List<Object>>(tuples.size());
List<ValueUpdater> updaters = new ArrayList<ValueUpdater>(tuples.size());
for (TridentTuple t : tuples) {
groups.add(_groupFactory.create(t));
updaters.add(new CombinerValueUpdater(_agg, _inputFactory.create(t).getValue(0)));
}
List<Object> newVals = map.multiUpdate(groups, updaters);
for (int i = 0; i < tuples.size(); i++) {
List<Object> key = groups.get(i);
Object result = newVals.get(i);
collector.emit(_factory.create(new List[] { key, new Values(result) }));
}
}
开发者ID:kkllwww007,项目名称:jstrom,代码行数:18,代码来源:MapCombinerAggStateUpdater.java
示例3: multiUpdate
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@Override
public List<T> multiUpdate(List<List<Object>> keys, List<ValueUpdater> updaters) {
List<T> curr = _backing.multiGet(keys);
List<T> ret = new ArrayList<T>(curr.size());
for(int i=0; i<curr.size(); i++) {
T currVal = curr.get(i);
ValueUpdater<T> updater = updaters.get(i);
ret.add(updater.update(currVal));
}
_backing.multiPut(keys, ret);
return ret;
}
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:13,代码来源:NonTransactionalMap.java
示例4: multiUpdate
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@Override
public List<T> multiUpdate(List<List<Object>> keys, List<ValueUpdater> updaters) {
List<CachedBatchReadsMap.RetVal<OpaqueValue>> curr = _backing.multiGet(keys);
List<OpaqueValue> newVals = new ArrayList<OpaqueValue>(curr.size());
List<T> ret = new ArrayList<T>();
for(int i=0; i<curr.size(); i++) {
CachedBatchReadsMap.RetVal<OpaqueValue> retval = curr.get(i);
OpaqueValue<T> val = retval.val;
ValueUpdater<T> updater = updaters.get(i);
T prev;
if(val==null) {
prev = null;
} else {
if(retval.cached) {
prev = val.getCurr();
} else {
prev = val.get(_currTx);
}
}
T newVal = updater.update(prev);
ret.add(newVal);
OpaqueValue<T> newOpaqueVal;
if(val==null) {
newOpaqueVal = new OpaqueValue<T>(_currTx, newVal);
} else {
newOpaqueVal = val.update(_currTx, newVal);
}
newVals.add(newOpaqueVal);
}
_backing.multiPut(keys, newVals);
return ret;
}
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:33,代码来源:OpaqueMap.java
示例5: multiPut
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@Override
public void multiPut(List<List<Object>> keys, List<T> vals) {
List<ValueUpdater> updaters = new ArrayList<ValueUpdater>(vals.size());
for(T val: vals) {
updaters.add(new ReplaceUpdater<T>(val));
}
multiUpdate(keys, updaters);
}
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:9,代码来源:OpaqueMap.java
示例6: multiUpdate
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@Override
public List<T> multiUpdate(List<List<Object>> keys, List<ValueUpdater> updaters) {
List<CachedBatchReadsMap.RetVal<TransactionalValue>> curr = _backing.multiGet(keys);
List<TransactionalValue> newVals = new ArrayList<TransactionalValue>(curr.size());
List<List<Object>> newKeys = new ArrayList();
List<T> ret = new ArrayList<T>();
for(int i=0; i<curr.size(); i++) {
CachedBatchReadsMap.RetVal<TransactionalValue> retval = curr.get(i);
TransactionalValue<T> val = retval.val;
ValueUpdater<T> updater = updaters.get(i);
TransactionalValue<T> newVal;
boolean changed = false;
if(val==null) {
newVal = new TransactionalValue<T>(_currTx, updater.update(null));
changed = true;
} else {
if(_currTx!=null && _currTx.equals(val.getTxid()) && !retval.cached) {
newVal = val;
} else {
newVal = new TransactionalValue<T>(_currTx, updater.update(val.getVal()));
changed = true;
}
}
ret.add(newVal.getVal());
if(changed) {
newVals.add(newVal);
newKeys.add(keys.get(i));
}
}
if(!newKeys.isEmpty()) {
_backing.multiPut(newKeys, newVals);
}
return ret;
}
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:35,代码来源:TransactionalMap.java
示例7: multiUpdate
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@SuppressWarnings("rawtypes")
@Override
public List<T> multiUpdate(List<List<Object>> keys, List<ValueUpdater> updaters)
{
// 使用されないため、実装は行わない。
return null;
}
开发者ID:acromusashi,项目名称:acromusashi-stream-ml,代码行数:11,代码来源:MlBaseState.java
示例8: multiUpdate
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@Override
public List<T> multiUpdate(List<List<Object>> keys, List<ValueUpdater> updaters) {
return _delegate.multiUpdate(keys, updaters);
}
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:5,代码来源:SnapshottableMap.java
示例9: update
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@Override
public T update(ValueUpdater updater) {
List<ValueUpdater> updaters = Arrays.asList(updater);
return multiUpdate(_keys, updaters).get(0);
}
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:6,代码来源:SnapshottableMap.java
示例10: multiUpdate
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
List<T> multiUpdate(List<List<Object>> keys, List<ValueUpdater> updaters);
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:3,代码来源:MapState.java
示例11: update
import storm.trident.state.ValueUpdater; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
T update(ValueUpdater updater);
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:3,代码来源:Snapshottable.java
注:本文中的storm.trident.state.ValueUpdater类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论