@InterfaceAudience.Public @InterfaceStability.Evolving public class BinaryPartitioner<V> extends Partitioner<BinaryComparable,V> implements Configurable
Partition BinaryComparable keys using a configurable part of 
 the bytes array returned by BinaryComparable.getBytes().
The subarray to be used for the partitioning can be defined by means of the following properties:
  +---+---+---+---+---+
  | B | B | B | B | B |
  +---+---+---+---+---+
    0   1   2   3   4
   -5  -4  -3  -2  -1
 
 The first row of numbers gives the position of the offsets 0...5 in 
 the array; the second row gives the corresponding negative offsets. 
 Contrary to Python, the specified subarray has byte i 
 and j as first and last element, repectively, when 
 i and j are the left and right offset.
 
 For Hadoop programs written in Java, it is advisable to use one of the following static convenience methods for setting the offsets:
| Modifier and Type | Field and Description | 
|---|---|
static String | 
LEFT_OFFSET_PROPERTY_NAME  | 
static String | 
RIGHT_OFFSET_PROPERTY_NAME  | 
| Constructor and Description | 
|---|
BinaryPartitioner()  | 
| Modifier and Type | Method and Description | 
|---|---|
Configuration | 
getConf()
Return the configuration used by this object. 
 | 
int | 
getPartition(BinaryComparable key,
            V value,
            int numPartitions)
Use (the specified slice of the array returned by) 
  
BinaryComparable.getBytes() to partition. | 
void | 
setConf(Configuration conf)
Set the configuration to be used by this object. 
 | 
static void | 
setLeftOffset(Configuration conf,
             int offset)
Set the subarray to be used for partitioning to 
  
bytes[offset:] in Python syntax. | 
static void | 
setOffsets(Configuration conf,
          int left,
          int right)
Set the subarray to be used for partitioning to 
  
bytes[left:(right+1)] in Python syntax. | 
static void | 
setRightOffset(Configuration conf,
              int offset)
Set the subarray to be used for partitioning to 
  
bytes[:(offset+1)] in Python syntax. | 
public static final String LEFT_OFFSET_PROPERTY_NAME
public static final String RIGHT_OFFSET_PROPERTY_NAME
public static void setOffsets(Configuration conf, int left, int right)
bytes[left:(right+1)] in Python syntax.conf - configuration objectleft - left Python-style offsetright - right Python-style offsetpublic static void setLeftOffset(Configuration conf, int offset)
bytes[offset:] in Python syntax.conf - configuration objectoffset - left Python-style offsetpublic static void setRightOffset(Configuration conf, int offset)
bytes[:(offset+1)] in Python syntax.conf - configuration objectoffset - right Python-style offsetpublic void setConf(Configuration conf)
ConfigurablesetConf in interface Configurablepublic Configuration getConf()
ConfigurablegetConf in interface Configurablepublic int getPartition(BinaryComparable key, V value, int numPartitions)
BinaryComparable.getBytes() to partition.getPartition in class Partitioner<BinaryComparable,V>key - the key to be partioned.value - the entry value.numPartitions - the total number of partitions.key.Copyright © 2019 Apache Software Foundation. All rights reserved.