2016-01-06 1 views
1

Я работал с искровой реализацией случайного леса в оболочке, и этот импорт работает отлично:Почему импорт ... RandomForest дать «объект RandomForest не входит в пакет org.apache.spark.mllib.tree»?

import org.apache.spark.mllib.tree.RandomForest 

Однако, когда я пытаюсь скомпилировать его как отдельный файл, он выходит из строя. Точная ошибка:

5: object RandomForest is not a member of package org.apache.spark.mllib.tree 

Я включил mllib в моем SBT файл тоже, так что может кто-то пожалуйста, скажите мне, где возникает эта ошибка? Мой код:

import org.apache.spark.SparkContext 
import org.apache.spark.SparkContext._ 
import org.apache.spark.SparkConf 
import org.apache.spark.mllib.tree.RandomForest 

Мой SBT файл:

name := "churn" 

version := "1.0" 

scalaVersion := "2.10.4" 

libraryDependencies ++= Seq(
    "org.apache.spark" % "spark-core_2.10"    % "1.5.2" % "provided", 
    "org.apache.spark" % "spark-mllib_2.10"    % "1.5.2" 
) 

Edit:

My-MBP:Churn admin$ sbt 'show libraryDependencies' 
[info] Set current project to churn (in build file:/Users/admin/Desktop/Churn/) 
[info] List(org.scala-lang:scala-library:2.10.4, org.apache.spark:spark-core_2.10:1.1.0, org.apache.spark:spark-mllib_2.10:1.1.0) 
My-MBP:Churn admin$ sbt scalaVersion 
[info] Set current project to churn (in build file:/Users/admin/Desktop/Churn/) 
[info] 2.10.4 

ответ

1

TL; др Использование Спарк 1.2.0 или более поздней версии.

В соответствии с историей org/apache/spark/mllib/tree/RandomForest.scala на GitHub the first version that supports Random Forest is 1.2.0 (см. Теги, в которых был помечен файл).

Даже если вы показали, что ваш build.sbt имеет 1.5.2 объявил, выход sbt 'show libraryDependencies' не подтверждает его, как он говорит:

org.apache.spark: искрового-mllib_2.10: 1.1. 0

1.1.0 - эффективная версия Spark MLlib, которую вы используете в своем проекте. Эта версия не поддерживает случайный лес.

Смежные вопросы