Как я могу использовать реализацию Scala MurmurHash: scala.util.MurmurHash3?

Я пишу 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 по умолчанию? Я предполагаю, что это так, потому что он часто используется в библиотеке. Насколько я вижу, класс не является частным пакетом.


person dr.    schedule 06.04.2012    source источник


Ответы (3)


Он называется просто scala.util.MurmurHash. без 3. Но это действительно алгоритм Murmurhash 3 (см. .scala#L1" rel="nofollow noreferrer">комментарии в источнике)

EDIT Я только что узнал, что Рекс Керр является автором scala.util.MurmurHash. Я бы посоветовал вам не принимать этот ответ (при условии, что он правильный); поскольку Рекс Керр находится в StackOverflow, он может присоединиться и дать вам гораздо лучший вариант...

person Paolo Falabella    schedule 06.04.2012
comment
Спасибо. Что же такое класс scala.util.MurmurHash3? - person dr.; 07.04.2012
comment
кажется, это новая версия в scala 2.10 - person Paolo Falabella; 07.04.2012

Я использую scala 2.11 и искровой 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>
person Santhosh Hirekerur    schedule 02.02.2017
comment
На самом деле я пропустил, чтобы добавить версию, которую я использую. Я использовал scala 2.11.8 и apache 1.6.2. - person Santhosh Hirekerur; 03.02.2017

Для меня работает следующее:

import scala.util.hashing.MurmurHash3

person conradlee    schedule 18.02.2016