Как запустить примеры использования MLlib с Intellij IDE? - PullRequest
0 голосов
/ 07 июля 2019

Я абсолютный новичок в 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.

1 Ответ

0 голосов
/ 08 июля 2019

Я только что узнал, что мне нужно правильно инициализировать сеанс Spark. Вот код для добавления.

import org.apache.spark.sql.SparkSession

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

import spark.implicits._
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...