public class KeyFieldBasedPartitioner<K2,V2> extends Object implements Partitioner<K2,V2>
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).构造器和说明 |
---|
KeyFieldBasedPartitioner() |
限定符和类型 | 方法和说明 |
---|---|
void |
configure(JobConf job)
Initializes a new instance from a
JobConf . |
protected int |
getPartition(int hash,
int numReduceTasks) |
int |
getPartition(K2 key,
V2 value,
int numReduceTasks)
Get the paritition 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) |
public void configure(JobConf job)
JobConfigurable
JobConf
.configure
在接口中 JobConfigurable
job
- the configurationpublic int getPartition(K2 key, V2 value, int numReduceTasks)
Partitioner
Typically a hash function on a all or a subset of the key.
getPartition
在接口中 Partitioner<K2,V2>
key
- the key to be paritioned.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)
Copyright © 2009 The Apache Software Foundation