Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move combine() from GroupReduceFunction to Interface #848

Open
fhueske opened this issue May 22, 2014 · 0 comments
Open

Move combine() from GroupReduceFunction to Interface #848

fhueske opened this issue May 22, 2014 · 0 comments

Comments

@fhueske
Copy link
Contributor

fhueske commented May 22, 2014

Currently, the combine method of the GroupReduceFunction allows to return multiple values using a collector. However, most combiners do not need this because they return only a single value. Furthermore, a single value returning combiner can be executed using more efficient hash-based strategies.

Hence, we propose to introduce a combine method for GroupReduce which returns only a single value. In order to keep support for the rare cases where more than one value needs to be returned, we want to keep the collector-combiner as well.

To do so, we could remove the combine method from the abstract GroupReduceFunction class and add two Combinable interfaces, one for a single-value and one for a multi-value combiner.
This would also make the Combinable annotation obsolete as the optimizer can check whether a GroupReduceFunction implements one of the Combinable interfaces or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant