I have a trident topology where a portion of the DAG looks like this:
partition - - - filterA - - - eachA
/
stream - - - -
\
partition - - - filterB - - - eachB
I believe with the above DAG, each tuple will be sent down both sides of the
fork. Approximately half will be filtered out by each filter. Thus, forcing
half my tuples to cross the partition only to get dropped afterwards.
Can the DAG be constructed like the following. If so, how do I define the
topology?
filterA - - - partition - - - eachA
/
stream - - - -
\
filterB - - - partition - - - eachB
The following doesn't appear to work. filterA and filterB don't receive tuples.
Stream stream = ...;
stream.parallelismHint(N);
stream
.each(new Fields(...), filterA)
.localOrShuffle()
.each(new Fields(...), eachA, new Fields(...))
;
stream
.each(new Fields(...), filterB)
.localOrShuffle()
.each(new Fields(...), eachB, new Fields(...))
;
[http://www.cisco.com/web/europe/images/email/signature/est2014/logo_06.png?ct=1398192119726]
Grant Overby
Software Engineer
Cisco.com<http://www.cisco.com/>
[email protected]<mailto:[email protected]>
Mobile: 865 724 4910
[http://www.cisco.com/assets/swa/img/thinkbeforeyouprint.gif] Think before you
print.
This email may contain confidential and privileged material for the sole use of
the intended recipient. Any review, use, distribution or disclosure by others
is strictly prohibited. If you are not the intended recipient (or authorized to
receive for the recipient), please contact the sender by reply email and delete
all copies of this message.
Please click
here<http://www.cisco.com/web/about/doing_business/legal/cri/index.html> for
Company Registration Information.