Я абсолютный новичок в Scala, я хочу протестировать библиотеку машинного обучения Spark MLlib на нескольких очень простых примерах.
Я взял первый пример основного руководства MLlib "Базовая статистика" и попытался воспроизвести его на листе с использованием IntelliJ IDEA, инициализированного в точности так, как описано в документации SCALA и правильно импортировав все зависимости библиотек.
Так вот код:
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._
как описано в SPARK / SQL: spark не может разрешить символ в DF , но он не работает.
Было бы очень признательно за точное решение продолжить изучение и попробовать следующие примеры из руководства MLlib.