diff options
author | Reynold Xin <rxin@cs.berkeley.edu> | 2013-06-29 15:58:59 -0700 |
---|---|---|
committer | Reynold Xin <rxin@cs.berkeley.edu> | 2013-06-29 15:58:59 -0700 |
commit | 79b5eaa4e2a32817a50e583554a53ed7ab72e0b2 (patch) | |
tree | 79c24c50ae661466da00f48c38e38f2e26f3517a /graph | |
parent | 758ceff778a5590297fe9b712d9642f009f9b628 (diff) | |
download | spark-79b5eaa4e2a32817a50e583554a53ed7ab72e0b2.tar.gz spark-79b5eaa4e2a32817a50e583554a53ed7ab72e0b2.tar.bz2 spark-79b5eaa4e2a32817a50e583554a53ed7ab72e0b2.zip |
Added a 64bit string hash function.
Diffstat (limited to 'graph')
-rw-r--r-- | graph/src/main/scala/spark/graph/util/HashUtils.scala | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/graph/src/main/scala/spark/graph/util/HashUtils.scala b/graph/src/main/scala/spark/graph/util/HashUtils.scala new file mode 100644 index 0000000000..0dfaef4c48 --- /dev/null +++ b/graph/src/main/scala/spark/graph/util/HashUtils.scala @@ -0,0 +1,21 @@ +package spark.graph.util + + +object HashUtils { + + /** + * Compute a 64-bit hash value for the given string. + * See http://stackoverflow.com/questions/1660501/what-is-a-good-64bit-hash-function-in-java-for-textual-strings + */ + def hash(str: String): Long = { + var h = 1125899906842597L + val len = str.length + var i = 0 + + while (i < len) { + h = 31 * h + str(i) + i += 1 + } + h + } +} |