Когда вы указываете Topology
, вы назначаете имена всем узлам и подключаете их:
Topology topology = new Topology();
topology.addSource("source", ...);
topology.addProcessor("X", ..., "source"); // connect source->X
topology.addSink("Y", ..., "X"); // connect X->Y
topology.addSink("Z", ..., "X"); // connect X->Z
Если процессор «X» подключен к нисходящим процессорам «Y» и «Z», выМожно использовать имя узла для отправки записи в «Y» или «Z».Если вы не укажете имя, запись будет отправлена нижестоящим («дочерним») процессорам.
// this is `process()` of "X"
public void process(String key, String value) {
context.forward(newKey, newValue); // send to both Y and Z
context.forward(newKey, newValue, To.child("Y")); // send it only to Y
context.forward(newKey, newValue, To.child("Z")); // send it only to Z
}