|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.io.WritableComparator org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedComparator<K,V>
@InterfaceAudience.Public @InterfaceStability.Stable public class KeyFieldBasedComparator<K,V>
This comparator implementation provides a subset of the features provided
by the Unix/GNU Sort. In particular, the supported features are:
-n, (Sort numerically)
-r, (Reverse the result of comparison)
-k pos1[,pos2], where pos is of the form f[.c][opts], where f is the number
of the 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 (any of 'nr' as described above).
We assume that the fields in the key are separated by
MRJobConfig.MAP_OUTPUT_KEY_FIELD_SEPERATOR
.
Field Summary | |
---|---|
static String |
COMPARATOR_OPTIONS
|
Constructor Summary | |
---|---|
KeyFieldBasedComparator()
|
Method Summary | |
---|---|
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. |
Methods inherited from class org.apache.hadoop.io.WritableComparator |
---|
compare, compare, compareBytes, define, get, getKeyClass, hashBytes, hashBytes, newKey, readDouble, readFloat, readInt, readLong, readUnsignedShort, readVInt, readVLong |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.util.Comparator |
---|
equals |
Field Detail |
---|
public static String COMPARATOR_OPTIONS
Constructor Detail |
---|
public KeyFieldBasedComparator()
Method Detail |
---|
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
options
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |