|
||||||||||
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)
|
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)
Get a comparator for a WritableComparable implementation. |
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. |
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)
Method Detail |
---|
public static WritableComparator get(Class<? extends WritableComparable> c)
WritableComparable
implementation.
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 |