public void setRangePartitioned ( Ordering partitionOrdering , DataDistribution distribution ) { if ( partitionOrdering . getNumberOfFields ( ) != distribution . getNumberOfFields ( ) ) { throw new IllegalArgumentException ( "The number of keys in the distribution must match number of ordered fields." ) ; } // TODO: check compatibility of distribution and ordering (number and order of keys, key types, etc. // TODO: adapt partition ordering to data distribution (use prefix of ordering) this . partitionOrdering = partitionOrdering ; this . distribution = distribution ; }
Sets the sink to partition the records into ranges over the given ordering . The bucket boundaries are determined using the given data distribution .