如何 运行 MLlib 用法示例与 Intellij IDE?

How to run MLlib usage examples with Intellij IDE?

我是 Scala 的绝对初学者,我想在一些非常简单的示例上测试 Spark MLlib 的机器学习库。

我使用了 MLlib 主要指南的第一个示例 "Basic Statistics" and I tried to reproduce it with a worksheet using IntelliJ IDEA, initialised exactly as the SCALA documentation 描述并正确导入了所有库依赖项。

代码如下:

import org.apache.spark.ml.linalg.{Matrix, Vectors}
import org.apache.spark.ml.stat.Correlation
import org.apache.spark.sql.Row

val data = Seq(
  Vectors.sparse(4, Seq((0, 1.0), (3, -2.0))),
  Vectors.dense(4.0, 5.0, 0.0, 3.0),
  Vectors.dense(6.0, 7.0, 0.0, 8.0),
  Vectors.sparse(4, Seq((0, 9.0), (3, 1.0)))
)

val df = data.map(Tuple1.apply).toDF("features")
val Row(coeff1: Matrix) = Correlation.corr(df, "features").head
println(s"Pearson correlation matrix:\n $coeff1")

val Row(coeff2: Matrix) = Correlation.corr(df, "features", "spearman").head
println(s"Spearman correlation matrix:\n $coeff2")

toDF出现问题:IntelliJ无法解析此符号,因此无法创建Dataframe。 我想确切地知道如何解决这个问题。我尝试使用

val sqlContext= new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._

中所述,但没有用。 非常感谢继续学习和尝试 MLlib 指南的下一个示例的确切解决方案。

我刚刚发现我必须正确初始化 Spark Session。这是要添加的代码。

import org.apache.spark.sql.SparkSession

val spark = SparkSession
  .builder()
  .appName("Basic statistics")
  .config("spark.master", "local")
  .getOrCreate()

import spark.implicits._