@InterfaceAudience.Public @InterfaceStability.Stable public class KeyFieldBasedComparator<K,V> extends WritableComparator implements Configurable
MRJobConfig.MAP_OUTPUT_KEY_FIELD_SEPARATOR
.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, get, getKeyClass, hashBytes, hashBytes, newKey, readDouble, readFloat, readInt, readLong, readUnsignedShort, readVInt, readVLong
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public static String COMPARATOR_OPTIONS
public void setConf(Configuration conf)
Configurable
setConf
in interface Configurable
setConf
in class WritableComparator
conf
- configuration to be usedpublic Configuration getConf()
Configurable
getConf
in interface Configurable
getConf
in class WritableComparator
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 © 2024 Apache Software Foundation. All rights reserved.