Class Hash

java.lang.Object
org.apache.hadoop.hbase.util.Hash
Direct Known Subclasses:
JenkinsHash, MurmurHash, MurmurHash3

@Private @Stable public abstract class Hash extends Object
This class represents a common API for hashing functions.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Constant to denote invalid hash type.
    static final int
    Constant to denote JenkinsHash.
    static final int
    Constant to denote MurmurHash.
    static final int
    Constant to denote MurmurHash3.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    getHashType(org.apache.hadoop.conf.Configuration conf)
    This utility method converts the name of the configured hash type to a symbolic constant.
    static Hash
    getInstance(int type)
    Get a singleton instance of hash function of a given type.
    static Hash
    getInstance(org.apache.hadoop.conf.Configuration conf)
    Get a singleton instance of hash function of a type defined in the configuration.
    abstract <T> int
    hash(HashKey<T> hashKey, int initval)
    Calculate a hash using bytes from HashKey and the provided seed value.
    static int
    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 Details

  • Constructor Details

    • Hash

      public Hash()
  • Method Details

    • parseHashType

      public static int parseHashType(String name)
      This utility method converts String representation of hash function name to a symbolic constant. Currently three function types are supported, "jenkins", "murmur" and "murmur3".
      Parameters:
      name - hash function name
      Returns:
      one of the predefined constants
    • getHashType

      public static int getHashType(org.apache.hadoop.conf.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(org.apache.hadoop.conf.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 abstract <T> int hash(HashKey<T> hashKey, int initval)
      Calculate a hash using bytes from HashKey and the provided seed value.
      Parameters:
      hashKey - key to extract the hash
      initval - the seed value
      Returns:
      hash value