Заполнение нулевых значений из CSV-файла проблемы-искры - PullRequest
0 голосов
/ 10 октября 2018

Я использую Scala и Apache Spark 2.3.0 с файлом CSV.Я делаю это, потому что, когда я пытаюсь использовать csv для k, это означает, что у меня есть нулевые значения, но он продолжает появляться ту же проблему, даже если я пытаюсь заполнить эти нули

scala>val df = sqlContext.read.format("com.databricks.spark.csv")
    .option("header", "true")
    .option("delimiter",";")
    .schema(schema).load("33.csv")

scala> df.na.fill(df.columns.zip(
  df.select(df.columns.map(mean(_)): _*).first.toSeq
).toMap)

scala> val featuresCols = Array("LONGITUD","LATITUD")
featuresCols: Array[String] = Array(LONGITUD, LATITUD)

scala> val featureCols = Array("LONGITUD","LATITUD")
featureCols: Array[String] = Array(LONGITUD, LATITUD)

scala> val assembler = new VectorAssembler().setInputCols(featureCols).setOutputCol("features")
assembler: org.apache.spark.ml.feature.VectorAssembler = vecAssembler_440117601217

scala> val df2 = assembler.transform(df)
df2: org.apache.spark.sql.DataFrame = [ID_CALLE: int, TIPO: int ... 6 more fields]

scala> df2.show

Caused by: org.apache.spark.SparkException: Values to assemble cannot be null

1 Ответ

0 голосов
/ 10 октября 2018

Похоже, что вы сделали na.fill (), но не присвоили его фрейму данных.

Попробуйте val nonullDF = df.na.fill(...)

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