Apache Spark - java.lang.NoSuchMethodError: breeze.linalg.DenseVector

У меня проблемы с запуском Apache Spark 1.0.1 в Play! приложение. В настоящее время я пытаюсь запустить Spark в Play! приложение и использовать некоторые из основных машинного обучения в Spark.

Вот мое создание приложения:

  def sparkFactory: SparkContext = {
    val logFile = "public/README.md" // Should be some file on your system
    val driverHost = "localhost"
    val conf = new SparkConf(false) // skip loading external settings
      .setMaster("local[4]") // run locally with enough threads
      .setAppName("firstSparkApp")
      .set("spark.logConf", "true")
      .set("spark.driver.host", s"$driverHost")
    new SparkContext(conf)
  }

И вот ошибка, когда я пытаюсь сделать какое-то базовое открытие Высокой и Тощей Матрицы:

[error] o.a.s.e.ExecutorUncaughtExceptionHandler - Uncaught exception in thread Thread[Executor task launch worker-3,5,main]
java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.dv_v_ZeroIdempotent_InPlaceOp_Double_OpAdd()Lbreeze/linalg/operators/BinaryUpdateRegistry;
    at org.apache.spark.mllib.linalg.distributed.RowMatrix$anonfun$5.apply(RowMatrix.scala:313) ~[spark-mllib_2.10-1.0.1.jar:1.0.1]
    at org.apache.spark.mllib.linalg.distributed.RowMatrix$anonfun$5.apply(RowMatrix.scala:313) ~[spark-mllib_2.10-1.0.1.jar:1.0.1]
    at scala.collection.TraversableOnce$anonfun$foldLeft$1.apply(TraversableOnce.scala:144) ~[scala-library-2.10.4.jar:na]
    at scala.collection.TraversableOnce$anonfun$foldLeft$1.apply(TraversableOnce.scala:144) ~[scala-library-2.10.4.jar:na]
    at scala.collection.Iterator$class.foreach(Iterator.scala:727) ~[scala-library-2.10.4.jar:na]
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) ~[scala-library-2.10.4.jar:na]

Вышеприведенная ошибка вызвана следующим:

  def computePrincipalComponents(datasetId: String) = Action {
    val datapoints = DataPoint.listByDataset(datasetId)

    // load the data into spark
    val rows = datapoints.map(_.data).map { row =>
      row.map(_.toDouble)
    }
    val RDDRows = WorkingSpark.context.makeRDD(rows).map { line =>
      Vectors.dense(line)
    }

    val mat = new RowMatrix(RDDRows)
    val result = mat.computePrincipalComponents(mat.numCols().toInt)


    Ok(result.toString)
  }

Это похоже на проблему зависимости, но не знаю, где она начинается. Есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос