[jira] [Created] (FLINK-1043) Alternative combine interface

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-1043) Alternative combine interface

Shang Yuanchun (Jira)
Sebastian Kruse created FLINK-1043:
--------------------------------------

             Summary: Alternative combine interface
                 Key: FLINK-1043
                 URL: https://issues.apache.org/jira/browse/FLINK-1043
             Project: Flink
          Issue Type: Wish
            Reporter: Sebastian Kruse


The GroupReduce allows for the following combination reduce step: {{InputType}} -> combine -> {{InputType}} -> reduce -> {{OutputType}}. However, in the use cases I have stumbled upon so far, it would make more sense to have the following steps: {{InputType}} -> {{OutputType}} -> {{OutputType}}. It seems more intuitive to me to create a set of partial results with the combiners that will finally merged within the reduce phase into an overall result. This sometimes bars me from using a combiner.
I provide some examples for this intuition.

* WordCount
** If you want to implement WordCount with as a combinable GroupReduce, then you have to preprocess all words as {{Tuple2<String, 1>}}. This could be avoided if the combination result was not necessarily equal to the input type.
* create a Bloom filter
** Bloom filters can be created locally on each node and later on be merged into a final, global Bloom filter, thus lend themselves for a combine-reduce proceeding. Doing this with a combinable GroupReduce would currently require to turn each input element into a singleton Bloom filter before the combination phase.

Therefore, it would be nice to have the ability to use {{OutputType}} as the combiner result.



--
This message was sent by Atlassian JIRA
(v6.2#6252)