[ 
https://issues.apache.org/jira/browse/FLINK-1272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17323743#comment-17323743
 ] 

Flink Jira Bot commented on FLINK-1272:
---------------------------------------

This issue is assigned but has not received an update in 7 days so it has been 
labeled "stale-assigned". If you are still working on the issue, please give an 
update and remove the label. If you are no longer working on the issue, please 
unassign so someone else may work on it. In 7 days the issue will be 
automatically unassigned.

> Add a "reduceWithKey" function
> ------------------------------
>
>                 Key: FLINK-1272
>                 URL: https://issues.apache.org/jira/browse/FLINK-1272
>             Project: Flink
>          Issue Type: New Feature
>          Components: API / DataSet
>            Reporter: Stephan Ewen
>            Assignee: Fabian Hueske
>            Priority: Major
>              Labels: stale-assigned
>
> Flink does not assume a key/value model for grouping/aggregating/joining. The 
> keys are specified as positions or paths of the objects to be grouped/joined.
> Currently, we do not expose the key in the {{ReduceFunction}} and 
> {{GroupReduceFunction}}, bit give (iterators over) the objects themselves.
> Since it is a common case to access the key, I suggest to add a convenience 
> function {{GroupReduceWithKey}} that has the following signature and can be 
> called as follows:
> {code}
> public interface GroupReduceWithKeyFunction<KEY, IN, OUT> {
>     void reduceGroup(KEY key, Iterable<IN> value, Collector<OUT> out);
> }
> {code}
> Scala:
> {code}
> val  data : DataSet[SomePOJO] = ...
> data
>   .groupBy("id")
>   .reduceGroup( (key, value, out : Collector[(String, Long)]) =>
>                             out.collect( (key, values.minBy(_.timestamp) ) );
> {code}
> Java:
> {code}
> DataSet<SomePOJO> data = ...
> data
>   .groupBy("id")
>   .reduceGroup(
>       new GroupReduceWithKeyFunction<String, SomePOJO, Tuple2<String, Long>> {
>           ...
>       }
> {code}
> The sae 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to