org.apache.hadoop.util.hash
Class Hash

java.lang.Object
  extended by org.apache.hadoop.util.hash.Hash
Direct Known Subclasses:
JenkinsHash, MurmurHash

public abstract class Hash
extends Object

This class represents a common API for hashing functions.


Field Summary
static int INVALID_HASH
          Constant to denote invalid hash type.
static int JENKINS_HASH
          Constant to denote JenkinsHash.
static int MURMUR_HASH
          Constant to denote MurmurHash.
 
Constructor Summary
Hash()
           
 
Method Summary
static int getHashType(Configuration conf)
          This utility method converts the name of the configured hash type to a symbolic constant.
static Hash getInstance(Configuration conf)
          Get a singleton instance of hash function of a type defined in the configuration.
static Hash getInstance(int type)
          Get a singleton instance of hash function of a given type.
 int hash(byte[] bytes)
          Calculate a hash using all bytes from the input argument, and a seed of -1.
 int hash(byte[] bytes, int initval)
          Calculate a hash using all bytes from the input argument, and a provided seed value.
abstract  int hash(byte[] bytes, int length, int initval)
          Calculate a hash using bytes from 0 to length, and the provided seed value
static int parseHashType(String name)
          This utility method converts String representation of hash function name to a symbolic constant.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INVALID_HASH

public static final int INVALID_HASH
Constant to denote invalid hash type.

See Also:
Constant Field Values

JENKINS_HASH

public static final int JENKINS_HASH
Constant to denote JenkinsHash.

See Also:
Constant Field Values

MURMUR_HASH

public static final int MURMUR_HASH
Constant to denote MurmurHash.

See Also:
Constant Field Values
Constructor Detail

Hash

public Hash()
Method Detail

parseHashType

public static int parseHashType(String name)
This utility method converts String representation of hash function name to a symbolic constant. Currently two function types are supported, "jenkins" and "murmur".

Parameters:
name - hash function name
Returns:
one of the predefined constants

getHashType

public static int getHashType(Configuration conf)
This utility method converts the name of the configured hash type to a symbolic constant.

Parameters:
conf - configuration
Returns:
one of the predefined constants

getInstance

public static Hash getInstance(int type)
Get a singleton instance of hash function of a given type.

Parameters:
type - predefined hash type
Returns:
hash function instance, or null if type is invalid

getInstance

public static Hash getInstance(Configuration conf)
Get a singleton instance of hash function of a type defined in the configuration.

Parameters:
conf - current configuration
Returns:
defined hash type, or null if type is invalid

hash

public int hash(byte[] bytes)
Calculate a hash using all bytes from the input argument, and a seed of -1.

Parameters:
bytes - input bytes
Returns:
hash value

hash

public int hash(byte[] bytes,
                int initval)
Calculate a hash using all bytes from the input argument, and a provided seed value.

Parameters:
bytes - input bytes
initval - seed value
Returns:
hash value

hash

public abstract int hash(byte[] bytes,
                         int length,
                         int initval)
Calculate a hash using bytes from 0 to length, and the provided seed value

Parameters:
bytes - input bytes
length - length of the valid bytes to consider
initval - seed value
Returns:
hash value


Copyright © 2009 The Apache Software Foundation