5

我正在编写一个 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 库中?我认为是因为它在图书馆中被大量使用。据我所知,该课程不是包私有的。

4

3 回答 3

4

它被称为scala.util.MurmurHash没有 3。但它确实是 Murmurhash 3 算法(参见源代码中的评论

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

于 2012-04-06T19:43:19.897 回答
4

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

import scala.util.hashing.{ MurmurHash3 => MH3 }
    val data="I am SANTHOSH"
    val sample = MH3.stringHash(data, MH3.stringSeed)
    println(":Hash Value: "+sample)
<dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.11</artifactId>
            <version>1.6.2</version>
        </dependency>
于 2017-02-02T05:10:15.603 回答
1

以下对我有用:

import scala.util.hashing.MurmurHash3

于 2016-02-18T17:27:50.607 回答