@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  KeyFieldBasedPartitioneroptions | 
| 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  KeyFieldBasedPartitioneroptions used forPartitioner | 
public static String PARTITIONER_OPTIONS
public void setConf(Configuration conf)
ConfigurablesetConf in interface Configurableconf - configuration to be usedpublic 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 © 2023 Apache Software Foundation. All rights reserved.