Class KeyFieldBasedComparator<K,V>

  extended by
      extended by 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.

Constructor Summary
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
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

Constructor Detail


public KeyFieldBasedComparator()
Method Detail


public void configure(JobConf job)
Description copied from interface: JobConfigurable
Initializes a new instance from a JobConf.

Specified by:
configure in interface JobConfigurable
job - the configuration


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 WritableComparables (using Writable.readFields(DataInput), then calls,WritableComparable).

Specified by:
compare in interface RawComparator
compare in class WritableComparator

Copyright © 2009 The Apache Software Foundation