aboutsummaryrefslogtreecommitdiff
path: root/sql/catalyst/src/main/java
diff options
context:
space:
mode:
authorWenchen Fan <wenchen@databricks.com>2016-01-04 18:49:41 -0800
committerReynold Xin <rxin@databricks.com>2016-01-04 18:49:41 -0800
commitb1a771231e20df157fb3e780287390a883c0cc6f (patch)
tree980b90de0e7b173df0fb48a42f0faac251a9ff36 /sql/catalyst/src/main/java
parent77ab49b8575d2ebd678065fa70b0343d532ab9c2 (diff)
downloadspark-b1a771231e20df157fb3e780287390a883c0cc6f.tar.gz
spark-b1a771231e20df157fb3e780287390a883c0cc6f.tar.bz2
spark-b1a771231e20df157fb3e780287390a883c0cc6f.zip
[SPARK-12480][SQL] add Hash expression that can calculate hash value for a group of expressions
just write the arguments into unsafe row and use murmur3 to calculate hash code Author: Wenchen Fan <wenchen@databricks.com> Closes #10435 from cloud-fan/hash-expr.
Diffstat (limited to 'sql/catalyst/src/main/java')
-rw-r--r--sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeRow.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeRow.java b/sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeRow.java
index 1a351933a3..b8d3c49100 100644
--- a/sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeRow.java
+++ b/sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeRow.java
@@ -566,6 +566,10 @@ public final class UnsafeRow extends MutableRow implements Externalizable, KryoS
return Murmur3_x86_32.hashUnsafeWords(baseObject, baseOffset, sizeInBytes, 42);
}
+ public int hashCode(int seed) {
+ return Murmur3_x86_32.hashUnsafeWords(baseObject, baseOffset, sizeInBytes, seed);
+ }
+
@Override
public boolean equals(Object other) {
if (other instanceof UnsafeRow) {