[
https://issues.apache.org/jira/browse/FLINK-3650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15330518#comment-15330518
]
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_r67049840
--- 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](
+ set.javaSet,
+ new SelectByMaxFunction[T](set.javaSet.getType, fields),
+ getCallLocationName())
+ }
+
+ /**
+ * Applies a special case of a reduce transformation (minBy) 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 minBy(fields: Array[Int]) : ReduceOperator[T] = {
--- End diff --
Comments of `maxBy` apply here as well.
> 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)