@InterfaceAudience.Public @InterfaceStability.Stable public class KeyFieldBasedComparator<K,V> extends WritableComparator implements Configurable
MRJobConfig.MAP_OUTPUT_KEY_FIELD_SEPERATOR
.Modifier and Type | Field and Description |
---|---|
static String |
COMPARATOR_OPTIONS |
Constructor and Description |
---|
KeyFieldBasedComparator() |
Modifier and Type | Method and Description |
---|---|
int |
compare(byte[] b1,
int s1,
int l1,
byte[] b2,
int s2,
int l2)
Optimization hook.
|
Configuration |
getConf()
Return the configuration used by this object.
|
static String |
getKeyFieldComparatorOption(JobContext job)
Get the
KeyFieldBasedComparator options |
void |
setConf(Configuration conf)
Set the configuration to be used by this object.
|
static void |
setKeyFieldComparatorOptions(Job job,
String keySpec)
Set the
KeyFieldBasedComparator options used to compare keys. |
compare, compare, compareBytes, define, get, getKeyClass, hashBytes, hashBytes, newKey, readDouble, readFloat, readInt, readLong, readUnsignedShort, readVInt, readVLong
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
equals
public static String COMPARATOR_OPTIONS
public KeyFieldBasedComparator()
public void setConf(Configuration conf)
Configurable
setConf
in interface Configurable
public Configuration getConf()
Configurable
getConf
in interface Configurable
public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2)
WritableComparator
The default implementation reads the data into two WritableComparable
s (using Writable.readFields(DataInput)
, then calls WritableComparator.compare(WritableComparable,WritableComparable)
.
compare
in interface RawComparator
compare
in class WritableComparator
b1
- The first byte array.s1
- The position index in b1. The object under comparison's starting index.l1
- The length of the object in b1.b2
- The second byte array.s2
- The position index in b2. The object under comparison's starting index.l2
- The length of the object under comparison in b2.public static void setKeyFieldComparatorOptions(Job job, String keySpec)
KeyFieldBasedComparator
options used to compare keys.keySpec
- 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). opts are ordering options. The supported options
are:
-n, (Sort numerically)
-r, (Reverse the result of comparison)public static String getKeyFieldComparatorOption(JobContext job)
KeyFieldBasedComparator
optionsCopyright © 2014 Apache Software Foundation. All Rights Reserved.