@Override
  protected void hash(ColumnVector inputColVector1, ColumnVector inputColVector2,
      LongColumnVector outputColVector, int i, ByteBuffer byteBuffer) {
    LongColumnVector inV1 = (LongColumnVector) inputColVector1;
    LongColumnVector inV2 = (LongColumnVector) inputColVector2;

    int idx1 = inputColVector1.isRepeating ? 0 : i;
    int idx2 = inputColVector2.isRepeating ? 0 : i;

    // hash of value from 1. column
    int hash = 0;
    if (!inV1.isNull[idx1]) {
      byteBuffer.clear();
      byteBuffer.putLong(inV1.vector[idx1]);
      hash = Murmur3.hash32(byteBuffer.array(), 8);
    }

    int hash2 = 0;
    // hash of value from 2. column
    if (!inV2.isNull[idx2]) {
      byteBuffer.clear();
      byteBuffer.putLong(inV2.vector[idx2]);
      hash2 = Murmur3.hash32(byteBuffer.array(), 8);
    }

    outputColVector.vector[i] = 31 * hash + hash2;
  }
Vectorized expression for hash(Column[int], Column[int]).
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/MurmurHashIntColIntCol.java