[ https://issues.apache.org/jira/browse/FLINK-3665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15245815#comment-15245815 ]
ASF GitHub Bot commented on FLINK-3665: --------------------------------------- Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/1848#discussion_r60074102 --- Diff: flink-optimizer/src/main/java/org/apache/flink/optimizer/dag/PartitionNode.java --- @@ -90,13 +90,20 @@ public SemanticProperties getSemanticProperties() { private final PartitionMethod pMethod; private final Partitioner<?> customPartitioner; private final DataDistribution distribution; - + private final Ordering ordering; + public PartitionDescriptor(PartitionMethod pMethod, FieldSet pKeys, Partitioner<?> customPartitioner, DataDistribution distribution) { + this(pMethod, pKeys, null, customPartitioner, distribution); + } + + public PartitionDescriptor(PartitionMethod pMethod, FieldSet pKeys, Ordering ordering, Partitioner<?> + customPartitioner, DataDistribution distribution) { super(pKeys); - + this.pMethod = pMethod; this.customPartitioner = customPartitioner; this.distribution = distribution; + this.ordering = ordering; --- End diff -- Can you add a check that the `ordering` is valid (number of orders == number of keys. Order keys == keys)? > Range partitioning lacks support to define sort orders > ------------------------------------------------------ > > Key: FLINK-3665 > URL: https://issues.apache.org/jira/browse/FLINK-3665 > Project: Flink > Issue Type: Improvement > Components: DataSet API > Affects Versions: 1.0.0 > Reporter: Fabian Hueske > Fix For: 1.1.0 > > > {{DataSet.partitionByRange()}} does not allow to specify the sort order of > fields. This is fine if range partitioning is used to reduce skewed > partitioning. > However, it is not sufficient if range partitioning is used to sort a data > set in parallel. > Since {{DataSet.partitionByRange()}} is {{@Public}} API and cannot be easily > changed, I propose to add a method {{withOrders(Order... orders)}} to > {{PartitionOperator}}. The method should throw an exception if the > partitioning method of {{PartitionOperator}} is not range partitioning. -- This message was sent by Atlassian JIRA (v6.3.4#6332)