使用Intellij在MLUtils.loadLibSVMFile中无法重新启动spark上下文

时间:2015-11-27 11:21:04

标签: eclipse scala intellij-idea apache-spark apache-spark-mllib

我尝试在这里运行Multilayer perceptron分类器示例:https://spark.apache.org/docs/1.5.2/ml-ann.html,它似乎适用于spark-shell,但不适用于像Intellij和Eclipse这样的IDE。问题来自于 val data = MLUtils.loadLibSVMFile(sc, "data/mllib/sample_multiclass_classification_data.txt").toDF()

IDE提示无法解析符号sc(sparkcontext),但库路径已正确配置。如果有人可以帮助我,谢谢!

1 个答案:

答案 0 :(得分:1)

实际上默认情况下没有sc这样的值。它是在spark-shell启动时导入的。在任何序数scala \ java \ python代码中,您应该手动创建它。

我最近做了very low quality answer。您可以使用sbt部分及其中的库。

接下来,您可以使用以下代码作为模板开始。

import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkContext, SparkConf}

object Spark extends App {
  val config = new SparkConf().setAppName("odo").setMaster("local[2]").set("spark.driver.host", "localhost")
  val sc = new SparkContext(config)
  val sqlc = new SQLContext(cs)

  import sqlc.implicits._

 //here you code follows
}

接下来你可以 Ctrl Shift F10 it