flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-3650) Add maxBy/minBy to Scala DataSet API
Date Tue, 14 Jun 2016 20:28:30 GMT

    [ 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)

Mime
View raw message