|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.io.WritableComparator
@InterfaceAudience.Public @InterfaceStability.Stable public class WritableComparator
A Comparator for WritableComparable
s.
This base implemenation uses the natural ordering. To define alternate
orderings, override compare(WritableComparable,WritableComparable)
.
One may optimize compare-intensive operations by overriding
compare(byte[],int,int,byte[],int,int)
. Static utility methods are
provided to assist in optimized implementations of this method.
Constructor Summary | |
---|---|
protected |
WritableComparator()
|
protected |
WritableComparator(Class<? extends WritableComparable> keyClass)
Construct for a WritableComparable implementation. |
protected |
WritableComparator(Class<? extends WritableComparable> keyClass,
boolean createInstances)
|
protected |
WritableComparator(Class<? extends WritableComparable> keyClass,
Configuration conf,
boolean createInstances)
|
Method Summary | |
---|---|
int |
compare(byte[] b1,
int s1,
int l1,
byte[] b2,
int s2,
int l2)
Optimization hook. |
int |
compare(Object a,
Object b)
|
int |
compare(WritableComparable a,
WritableComparable b)
Compare two WritableComparables. |
static int |
compareBytes(byte[] b1,
int s1,
int l1,
byte[] b2,
int s2,
int l2)
Lexicographic order of binary data. |
static void |
define(Class c,
WritableComparator comparator)
Register an optimized comparator for a WritableComparable
implementation. |
static WritableComparator |
get(Class<? extends WritableComparable> c)
For backwards compatibility. |
static WritableComparator |
get(Class<? extends WritableComparable> c,
Configuration conf)
Get a comparator for a WritableComparable implementation. |
Configuration |
getConf()
Return the configuration used by this object. |
Class<? extends WritableComparable> |
getKeyClass()
Returns the WritableComparable implementation class. |
static int |
hashBytes(byte[] bytes,
int length)
Compute hash for binary data. |
static int |
hashBytes(byte[] bytes,
int offset,
int length)
Compute hash for binary data. |
WritableComparable |
newKey()
Construct a new WritableComparable instance. |
static double |
readDouble(byte[] bytes,
int start)
Parse a double from a byte array. |
static float |
readFloat(byte[] bytes,
int start)
Parse a float from a byte array. |
static int |
readInt(byte[] bytes,
int start)
Parse an integer from a byte array. |
static long |
readLong(byte[] bytes,
int start)
Parse a long from a byte array. |
static int |
readUnsignedShort(byte[] bytes,
int start)
Parse an unsigned short from a byte array. |
static int |
readVInt(byte[] bytes,
int start)
Reads a zero-compressed encoded integer from a byte array and returns it. |
static long |
readVLong(byte[] bytes,
int start)
Reads a zero-compressed encoded long from a byte array and returns it. |
void |
setConf(Configuration conf)
Set the configuration to be used by this object. |
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 |
Constructor Detail |
---|
protected WritableComparator()
protected WritableComparator(Class<? extends WritableComparable> keyClass)
WritableComparable
implementation.
protected WritableComparator(Class<? extends WritableComparable> keyClass, boolean createInstances)
protected WritableComparator(Class<? extends WritableComparable> keyClass, Configuration conf, boolean createInstances)
Method Detail |
---|
public static WritableComparator get(Class<? extends WritableComparable> c)
public static WritableComparator get(Class<? extends WritableComparable> c, Configuration conf)
WritableComparable
implementation.
public void setConf(Configuration conf)
Configurable
setConf
in interface Configurable
public Configuration getConf()
Configurable
getConf
in interface Configurable
public static void define(Class c, WritableComparator comparator)
WritableComparable
implementation. Comparators registered with this method must be
thread-safe.
public Class<? extends WritableComparable> getKeyClass()
public WritableComparable newKey()
WritableComparable
instance.
public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2)
The default implementation reads the data into two WritableComparable
s (using Writable.readFields(DataInput)
, then calls compare(WritableComparable,WritableComparable)
.
compare
in interface RawComparator
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 int compare(WritableComparable a, WritableComparable b)
The default implementation uses the natural ordering, calling Comparable.compareTo(Object)
.
public int compare(Object a, Object b)
compare
in interface Comparator
public static int compareBytes(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2)
public static int hashBytes(byte[] bytes, int offset, int length)
public static int hashBytes(byte[] bytes, int length)
public static int readUnsignedShort(byte[] bytes, int start)
public static int readInt(byte[] bytes, int start)
public static float readFloat(byte[] bytes, int start)
public static long readLong(byte[] bytes, int start)
public static double readDouble(byte[] bytes, int start)
public static long readVLong(byte[] bytes, int start) throws IOException
bytes
- byte array with decode longstart
- starting index
IOException
public static int readVInt(byte[] bytes, int start) throws IOException
bytes
- byte array with the encoded integerstart
- start index
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |