|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.mapreduce.Partitioner<BinaryComparable,V> org.apache.hadoop.mapreduce.lib.partition.BinaryPartitioner<V>
@InterfaceAudience.Public @InterfaceStability.Evolving public class BinaryPartitioner<V>
Partition BinaryComparable
keys using a configurable part of
the bytes array returned by BinaryComparable.getBytes()
.
The subarray to be used for the partitioning can be defined by means of the following properties:
+---+---+---+---+---+
| B | B | B | B | B |
+---+---+---+---+---+
0 1 2 3 4
-5 -4 -3 -2 -1
The first row of numbers gives the position of the offsets 0...5 in
the array; the second row gives the corresponding negative offsets.
Contrary to Python, the specified subarray has byte i
and j
as first and last element, repectively, when
i
and j
are the left and right offset.
For Hadoop programs written in Java, it is advisable to use one of the following static convenience methods for setting the offsets:
setOffsets(org.apache.hadoop.conf.Configuration, int, int)
setLeftOffset(org.apache.hadoop.conf.Configuration, int)
setRightOffset(org.apache.hadoop.conf.Configuration, int)
Field Summary | |
---|---|
static String |
LEFT_OFFSET_PROPERTY_NAME
|
static String |
RIGHT_OFFSET_PROPERTY_NAME
|
Constructor Summary | |
---|---|
BinaryPartitioner()
|
Method Summary | |
---|---|
Configuration |
getConf()
Return the configuration used by this object. |
int |
getPartition(BinaryComparable key,
V value,
int numPartitions)
Use (the specified slice of the array returned by) BinaryComparable.getBytes() to partition. |
void |
setConf(Configuration conf)
Set the configuration to be used by this object. |
static void |
setLeftOffset(Configuration conf,
int offset)
Set the subarray to be used for partitioning to bytes[offset:] in Python syntax. |
static void |
setOffsets(Configuration conf,
int left,
int right)
Set the subarray to be used for partitioning to bytes[left:(right+1)] in Python syntax. |
static void |
setRightOffset(Configuration conf,
int offset)
Set the subarray to be used for partitioning to bytes[:(offset+1)] in Python syntax. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String LEFT_OFFSET_PROPERTY_NAME
public static final String RIGHT_OFFSET_PROPERTY_NAME
Constructor Detail |
---|
public BinaryPartitioner()
Method Detail |
---|
public static void setOffsets(Configuration conf, int left, int right)
bytes[left:(right+1)]
in Python syntax.
conf
- configuration objectleft
- left Python-style offsetright
- right Python-style offsetpublic static void setLeftOffset(Configuration conf, int offset)
bytes[offset:]
in Python syntax.
conf
- configuration objectoffset
- left Python-style offsetpublic static void setRightOffset(Configuration conf, int offset)
bytes[:(offset+1)]
in Python syntax.
conf
- configuration objectoffset
- right Python-style offsetpublic void setConf(Configuration conf)
Configurable
setConf
in interface Configurable
public Configuration getConf()
Configurable
getConf
in interface Configurable
public int getPartition(BinaryComparable key, V value, int numPartitions)
BinaryComparable.getBytes()
to partition.
getPartition
in class Partitioner<BinaryComparable,V>
key
- the key to be partioned.value
- the entry value.numPartitions
- the total number of partitions.
key
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |