I have a few questions regarding aggregate functions that would be parallel safe.
1. do the inputs of combinefunc always go through serialfunc-deserialfunc or they can come directly from sfunc (worker on the same machine, perhaps)?
2. can the result of combinefunc ever be fed to sfunc as opposed to other combiners or finalfunc?
I have in mind a scenario, when a different data structure is used in the combine stage. For that it would be good if the conversion can happen in serialfunc-deserialfunc, and the combiner does not even know about the other structure used for state transition during aggregation. If that is the case, the only problem remains with the finalfunc. It has to be ready to receive both types.
Thanks.