@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).| 限定符和类型 | 字段和说明 | 
|---|---|
static String | 
PARTITIONER_OPTIONS  | 
| 构造器和说明 | 
|---|
KeyFieldBasedPartitioner()  | 
| 限定符和类型 | 方法和说明 | 
|---|---|
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. number of reduce-tasks for the job. 
 | 
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 void setConf(Configuration conf)
ConfigurablesetConf 在接口中 Configurablepublic Configuration getConf()
ConfigurablegetConf 在接口中 Configurablepublic int getPartition(K2 key, V2 value, int numReduceTasks)
PartitionerTypically a hash function on a all or a subset of the key.
getPartition 在类中 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 © 2009 The Apache Software Foundation