@InterfaceAudience.Public @InterfaceStability.Stable public class KeyFieldBasedPartitioner<K2,V2> extends Partitioner<K2,V2> implements Configurable
KeyFieldBasedComparator.
  The key specification supported is of the form -k pos1[,pos2], where,
  pos is of the form f[.c][opts], where f is the number
  of the key field to use, and c is the number of the first character from
  the beginning of the field. Fields and character posns are numbered 
  starting with 1; a character position of zero in pos2 indicates the
  field's last character. If '.c' is omitted from pos1, it defaults to 1
  (the beginning of the field); if omitted from pos2, it defaults to 0 
  (the end of the field).| Modifier and Type | Field and Description | 
|---|---|
static String | 
PARTITIONER_OPTIONS  | 
| Constructor and Description | 
|---|
KeyFieldBasedPartitioner()  | 
| Modifier and Type | Method and Description | 
|---|---|
Configuration | 
getConf()
Return the configuration used by this object. 
 | 
String | 
getKeyFieldPartitionerOption(JobContext job)
Get the  
KeyFieldBasedPartitioner options | 
protected int | 
getPartition(int hash,
                        int numReduceTasks)  | 
int | 
getPartition(K2 key,
                        V2 value,
                        int numReduceTasks)
Get the partition number for a given key (hence record) given the total 
 number of partitions i.e. 
 | 
protected int | 
hashCode(byte[] b,
                int start,
                int end,
                int currentHash)  | 
void | 
setConf(Configuration conf)
Set the configuration to be used by this object. 
 | 
void | 
setKeyFieldPartitionerOptions(Job job,
                                                          String keySpec)
Set the  
KeyFieldBasedPartitioner options used for 
 Partitioner | 
public static String PARTITIONER_OPTIONS
public KeyFieldBasedPartitioner()
public void setConf(Configuration conf)
ConfigurablesetConf in interface Configurablepublic Configuration getConf()
ConfigurablegetConf in interface Configurablepublic int getPartition(K2 key, V2 value, int numReduceTasks)
PartitionerTypically a hash function on a all or a subset of the key.
getPartition in class Partitioner<K2,V2>key - the key to be partioned.value - the entry value.numReduceTasks - the total number of partitions.key.protected int hashCode(byte[] b, int start, int end, int currentHash)
protected int getPartition(int hash, int numReduceTasks)
public void setKeyFieldPartitionerOptions(Job job, String keySpec)
KeyFieldBasedPartitioner options used for 
 PartitionerkeySpec - the key specification of the form -k pos1[,pos2], where,
  pos is of the form f[.c][opts], where f is the number
  of the key field to use, and c is the number of the first character from
  the beginning of the field. Fields and character posns are numbered 
  starting with 1; a character position of zero in pos2 indicates the
  field's last character. If '.c' is omitted from pos1, it defaults to 1
  (the beginning of the field); if omitted from pos2, it defaults to 0 
  (the end of the field).public String getKeyFieldPartitionerOption(JobContext job)
KeyFieldBasedPartitioner optionsCopyright © 2016 Apache Software Foundation. All rights reserved.