[ https://issues.apache.org/jira/browse/FLINK-3650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15330516#comment-15330516 ]
ASF GitHub Bot commented on FLINK-3650: --------------------------------------- Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/1856#discussion_r67049716 --- Diff: flink-scala/src/main/scala/org/apache/flink/api/scala/GroupedDataSet.scala --- @@ -356,6 +358,44 @@ class GroupedDataSet[T: ClassTag]( } /** + * Applies a special case of a reduce transformation (maxBy) on a grouped {@link DataSet}.<br> + * The transformation consecutively calls a {@link ReduceFunction} + * until only a single element remains which is the result of the transformation. + * A ReduceFunction combines two elements into one new element of the same type. + * + * @param fields Keys taken into account for finding the minimum. + * @return A { @link ReduceOperator} representing the minimum. + */ + def maxBy(fields: Array[Int]) : ReduceOperator[T] = { + if (!set.javaSet.getType().isTupleType) { + throw new InvalidProgramException("DataSet#maxBy(int...) only works on Tuple types.") + } + new ReduceOperator[T]( --- End diff -- Do not create a Java API `ReduceOperator` here. Use `reduce(new SelectByMaxFunction(...))` instead which creates a Scala API class. > Add maxBy/minBy to Scala DataSet API > ------------------------------------ > > Key: FLINK-3650 > URL: https://issues.apache.org/jira/browse/FLINK-3650 > Project: Flink > Issue Type: Improvement > Components: Java API, Scala API > Affects Versions: 1.1.0 > Reporter: Till Rohrmann > Assignee: ramkrishna.s.vasudevan > > The stable Java DataSet API contains the API calls {{maxBy}} and {{minBy}}. > These methods are not supported by the Scala DataSet API. These methods > should be added in order to have a consistent API. -- This message was sent by Atlassian JIRA (v6.3.4#6332)