Does a multiReduce on two or more partitioned streams (where the partitioning 
is the same) maintain the same partitioning, or does it repartition the stream 
back to 1 partition?

The situation I've got is the following:

TridentStream input = stream.repartitionBy(fields, 2);

TridentStream s1 = input.each(...);
TridentStream s2 = input.each(...);

TridentStream joined = topology.multiReduce(..., Arrays.asList(s1, s2), 
reducer, outputFields);


Is the multiReduce operation guaranteed to only operate within each partition, 
or can tuples cross partitions during the reduce operation? What will be the 
partitioning of the output stream? It's quite hard to follow the trident code 
to work out what it's doing, especially since there doesn't seem to be a core 
representation of a partitioned stream when building up the topology.

Thanks,
SimonC

Reply via email to