@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  KeyFieldBasedComparatoroptions | 
| void | setConf(Configuration conf)Set the configuration to be used by this object. | 
| static void | setKeyFieldComparatorOptions(Job job,
                            String keySpec)Set the  KeyFieldBasedComparatoroptions used to compare keys. | 
compare, compare, compareBytes, define, get, get, getKeyClass, hashBytes, hashBytes, newKey, readDouble, readFloat, readInt, readLong, readUnsignedShort, readVInt, readVLongclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcomparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongpublic static String COMPARATOR_OPTIONS
public void setConf(Configuration conf)
ConfigurablesetConf in interface ConfigurablesetConf in class WritableComparatorconf - configuration to be usedpublic Configuration getConf()
ConfigurablegetConf in interface ConfigurablegetConf in class WritableComparatorpublic int compare(byte[] b1,
                   int s1,
                   int l1,
                   byte[] b2,
                   int s2,
                   int l2)
WritableComparatorThe default implementation reads the data into two WritableComparables (using Writable.readFields(DataInput), then calls WritableComparator.compare(WritableComparable,WritableComparable).
compare in interface RawComparatorcompare in class WritableComparatorb1 - 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 © 2025 Apache Software Foundation. All rights reserved.