org.apache.hadoop.mapred.lib
Class KeyFieldBasedComparator<K,V>
java.lang.Object
org.apache.hadoop.io.WritableComparator
org.apache.hadoop.mapred.lib.KeyFieldBasedComparator<K,V>
- All Implemented Interfaces:
- Comparator, RawComparator, JobConfigurable
public class KeyFieldBasedComparator<K,V>
- extends WritableComparator
- implements JobConfigurable
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
map.output.key.field.separator.
Method Summary |
int |
compare(byte[] b1,
int s1,
int l1,
byte[] b2,
int s2,
int l2)
Optimization hook. |
void |
configure(JobConf job)
Initializes a new instance from a JobConf . |
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 |
KeyFieldBasedComparator
public KeyFieldBasedComparator()
configure
public void configure(JobConf job)
- Description copied from interface:
JobConfigurable
- Initializes a new instance from a
JobConf
.
- Specified by:
configure
in interface JobConfigurable
- Parameters:
job
- the configuration
compare
public int compare(byte[] b1,
int s1,
int l1,
byte[] b2,
int s2,
int l2)
- Description copied from class:
WritableComparator
- Optimization hook. Override this to make SequenceFile.Sorter's scream.
The default implementation reads the data into two WritableComparable
s (using Writable.readFields(DataInput)
, then calls WritableComparator.compare(WritableComparable,WritableComparable)
.
- Specified by:
compare
in interface RawComparator
- Overrides:
compare
in class WritableComparator
Copyright © 2009 The Apache Software Foundation