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

それは3なしで単にscala.util.MurmurHashと呼ばれます。しかしそれは確かにMurmurhash3アルゴリズムです(ソースのコメントを参照してください)

編集私はRexKerrが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 に答える