@InterfaceAudience.Public @InterfaceStability.Stable public abstract class Partitioner<KEY,VALUE> extends Object
Partitioner
controls the partitioning of the keys of the
intermediate map-outputs. The key (or a subset of the key) is used to derive
the partition, typically by a hash function. The total number of partitions
is the same as the number of reduce tasks for the job. Hence this controls
which of the m
reduce tasks the intermediate key (and hence the
record) is sent for reduction.
Note: A Partitioner
is created only when there are multiple
reducers.
Note: If you require your Partitioner class to obtain the Job's
configuration object, implement the Configurable
interface.
Reducer
Constructor and Description |
---|
Partitioner() |
Modifier and Type | Method and Description |
---|---|
abstract int |
getPartition(KEY key,
VALUE value,
int numPartitions)
Get the partition number for a given key (hence record) given the total
number of partitions i.e.
|
public abstract int getPartition(KEY key, VALUE value, int numPartitions)
Typically a hash function on a all or a subset of the key.
key
- the key to be partioned.value
- the entry value.numPartitions
- the total number of partitions.key
.Copyright © 2017 Apache Software Foundation. All rights reserved.