本文整理汇总了Java中storm.trident.planner.Node类的典型用法代码示例。如果您正苦于以下问题:Java Node类的具体用法?Java Node怎么用?Java Node使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Node类属于storm.trident.planner包,在下文中一共展示了Node类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: outgoingGroups
import storm.trident.planner.Node; //导入依赖的package包/类
public Collection<Group> outgoingGroups(Group g) {
Set<Group> ret = new HashSet();
for(Node n: g.outgoingNodes()) {
Group other = nodeGroup(n);
if(other==null || !other.equals(g)) {
ret.add(other);
}
}
return ret;
}
示例2: checkValidJoins
import storm.trident.planner.Node; //导入依赖的package包/类
private static void checkValidJoins(Collection<Node> g) {
boolean hasDRPCSpout = false;
boolean hasBatchSpout = false;
for(Node n: g) {
if(n instanceof SpoutNode) {
SpoutNode.SpoutType type = ((SpoutNode) n).type;
if(type==SpoutNode.SpoutType.BATCH) {
hasBatchSpout = true;
} else if(type==SpoutNode.SpoutType.DRPC) {
hasDRPCSpout = true;
}
}
}
if(hasBatchSpout && hasDRPCSpout) {
throw new RuntimeException("Cannot join DRPC stream with streams originating from other spouts");
}
}
示例3: stateQuery
import storm.trident.planner.Node; //导入依赖的package包/类
public Stream stateQuery(TridentState state, Fields inputFields, QueryFunction function, Fields functionFields) {
projectionValidation(inputFields);
String stateId = state._node.stateInfo.id;
Node n = new ProcessorNode(_topology.getUniqueStreamId(),
_name,
TridentUtils.fieldsConcat(getOutputFields(), functionFields),
functionFields,
new StateQueryProcessor(stateId, inputFields, function));
_topology._colocate.get(stateId).add(n);
return _topology.addSourcedNode(this, n);
}
示例4: reindex
import storm.trident.planner.Node; //导入依赖的package包/类
public void reindex() {
groupIndex.clear();
for(Group g: currGroups) {
for(Node n: g.nodes) {
groupIndex.put(n, g);
}
}
}
示例5: merge
import storm.trident.planner.Node; //导入依赖的package包/类
private void merge(Group g1, Group g2) {
Group newGroup = new Group(g1, g2);
currGroups.remove(g1);
currGroups.remove(g2);
currGroups.add(newGroup);
for(Node n: newGroup.nodes) {
groupIndex.put(n, newGroup);
}
}
示例6: incomingGroups
import storm.trident.planner.Node; //导入依赖的package包/类
public Collection<Group> incomingGroups(Group g) {
Set<Group> ret = new HashSet();
for(Node n: g.incomingNodes()) {
Group other = nodeGroup(n);
if(other==null || !other.equals(g)) {
ret.add(other);
}
}
return ret;
}
示例7: registerSourcedNode
import storm.trident.planner.Node; //导入依赖的package包/类
protected void registerSourcedNode(List<Stream> sources, Node newNode) {
registerNode(newNode);
int streamIndex = 0;
for(Stream s: sources) {
_graph.addEdge(s._node, newNode, new IndexedEdge(s._node, newNode, streamIndex));
streamIndex++;
}
}
示例8: outgoingNodes
import storm.trident.planner.Node; //导入依赖的package包/类
public Set<Node> outgoingNodes() {
Set<Node> ret = new HashSet<Node>();
for(Node n: nodes) {
ret.addAll(TridentUtils.getChildren(graph, n));
}
return ret;
}
示例9: incomingNodes
import storm.trident.planner.Node; //导入依赖的package包/类
public Set<Node> incomingNodes() {
Set<Node> ret = new HashSet<Node>();
for(Node n: nodes) {
ret.addAll(TridentUtils.getParents(graph, n));
}
return ret;
}
示例10: newDRPCStream
import storm.trident.planner.Node; //导入依赖的package包/类
private Stream newDRPCStream(DRPCSpout spout) {
// : consider adding a shuffle grouping after the spout to avoid so much routing of the args/return-info all over the place
// (at least until its possible to just pack bolt logic into the spout itself)
Node n = new SpoutNode(getUniqueStreamId(), TridentUtils.getSingleOutputStreamFields(spout), null, spout, SpoutNode.SpoutType.DRPC);
Stream nextStream = addNode(n);
// later on, this will be joined back with return-info and all the results
return nextStream.project(new Fields("args"));
}
示例11: newStaticState
import storm.trident.planner.Node; //导入依赖的package包/类
public TridentState newStaticState(StateSpec spec) {
String stateId = getUniqueStateId();
Node n = new Node(getUniqueStreamId(), null, new Fields());
n.stateInfo = new NodeStateInfo(stateId, spec);
registerNode(n);
return new TridentState(this, n);
}
示例12: multiReduce
import storm.trident.planner.Node; //导入依赖的package包/类
public Stream multiReduce(List<Fields> inputFields, List<Stream> streams, MultiReducer function, Fields outputFields) {
List<String> names = new ArrayList<String>();
for(Stream s: streams) {
if(s._name!=null) {
names.add(s._name);
}
}
Node n = new ProcessorNode(getUniqueStreamId(), Utils.join(names, "-"), outputFields, outputFields, new MultiReducerProcessor(inputFields, function));
return addSourcedNode(streams, n);
}
示例13: externalGroupInputs
import storm.trident.planner.Node; //导入依赖的package包/类
private static Set<PartitionNode> externalGroupInputs(Group g) {
Set<PartitionNode> ret = new HashSet();
for(Node n: g.incomingNodes()) {
if(n instanceof PartitionNode) {
ret.add((PartitionNode) n);
}
}
return ret;
}
示例14: getDRPCSpoutNode
import storm.trident.planner.Node; //导入依赖的package包/类
private static SpoutNode getDRPCSpoutNode(Collection<Node> g) {
for(Node n: g) {
if(n instanceof SpoutNode) {
SpoutNode.SpoutType type = ((SpoutNode) n).type;
if(type==SpoutNode.SpoutType.DRPC) {
return (SpoutNode) n;
}
}
}
return null;
}
示例15: genSpoutIds
import storm.trident.planner.Node; //导入依赖的package包/类
private static Map<Node, String> genSpoutIds(Collection<SpoutNode> spoutNodes) {
Map<Node, String> ret = new HashMap();
int ctr = 0;
for(SpoutNode n: spoutNodes) {
ret.put(n, "spout" + ctr);
ctr++;
}
return ret;
}