Hash (Apache Hadoop Common 3.5.0 API)
Description: declaration: package: org.apache.hadoop.util.hash, class: Hash

Package org.apache.hadoop.util.hash

# Class Hash

java.lang.Object
org.apache.hadoop.util.hash.Hash

Direct Known Subclasses:
  `JenkinsHash`, `MurmurHash`

@Private @Unstable 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`
  `INVALID_HASH`
  Constant to denote invalid hash type.
  `static final int`
  `JENKINS_HASH`
  Constant to denote `JenkinsHash`.
  `static final int`
  `MURMUR_HASH`
  Constant to denote `MurmurHash`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Hash()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static int`
  `getHashType(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(Configuration conf)`
  Get a singleton instance of hash function of a type defined in the configuration.
  `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 Details

  - ### 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 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 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