我如何使用Scala的MurmurHash实现:scala.util.MurmurHash3?

时间:2012-04-06 19:24:41

标签: scala scala-2.9 murmurhash

我正在编写BloomFilter并希望使用Scala的默认MurmurHash3实现:scala.util.MurmurHash3。我的编译失败但是出现以下编译错误:

[error] /mnt/hgfs/dr/sandbox/dr-commons/src/main/scala/dr/commons/collection/BloomFilter.scala:214: MurmurHash3 is not a member of scala.util
[error]   import scala.util.{MurmurHash3 => MH}

我使用的是Scala 2.9.1和sbt 0.11.2。

默认情况下,MurmurHash3类不在2.9.1库中吗?我认为这是因为它在图书馆中使用了很多。据我所知,该课程并非私有包装。

3 个答案:

答案 0 :(得分:4)

它只被称为scala.util.MurmurHash而没有3.但它确实是Murmurhash 3算法(见the comments in the source

编辑我刚刚看到Rex Kerr是scala.util.MurmurHash的作者。我建议你不要接受这个答案(假设它是正确的答案);因为Rex Kerr在StackOverflow上,所以他可以插入并给你一个更好的...

答案 1 :(得分:3)

我正在使用scala 2.11和spark apache 1.6.2。它的工作正常。使用这些版本我没有收到任何错误

ggplot() + geom_polygon(data = ny, aes(x = long, y = lat, group = group))
import scala.util.hashing.{ MurmurHash3 => MH3 }
    val data="I am SANTHOSH"
    val sample = MH3.stringHash(data, MH3.stringSeed)
    println(":Hash Value: "+sample)

答案 2 :(得分:1)

以下适用于我:

import scala.util.hashing.MurmurHash3