Не удается преобразовать RDD в Dataframe - PullRequest
0 голосов
/ 01 декабря 2019

Я преобразовал кадр данных в СДР:

val rows: RDD[Row] = df.orderBy($"Date").rdd

И теперь я пытаюсь преобразовать его обратно:

val df2 = spark.createDataFrame(rows)

Но я получаю ошибку:

enter image description here

Редактировать:

rows.toDF()

Также выдает ошибку:

Невозможно разрешить символ в DF

Даже если я включил эту строку раньше:

import spark.implicits._

Полный код:

import org.apache.spark._
import org.apache.spark.sql._
import org.apache.spark.sql.expressions._
import org.apache.spark.sql.functions._
import org.apache.spark.sql.types._

import scala.util._
import org.apache.spark.mllib.rdd.RDDFunctions._
import org.apache.spark.rdd._


object Playground {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession
      .builder
      .appName("Playground")
      .config("spark.master", "local")
      .getOrCreate()

    import spark.implicits._
    val sc = spark.sparkContext



    val df = spark.read.csv("D:/playground/mre.csv")
    df.show()

    val rows: RDD[Row] = df.orderBy($"Date").rdd


    val df2 = spark.createDataFrame(rows)
    rows.toDF()


  }
}

1 Ответ

2 голосов
/ 02 декабря 2019

Ваша IDE права, SparkSession.createDataFrame нужен второй параметр: либо класс бина, либо схема.

Это решит вашу проблему:

val df2 = spark.createDataFrame(rows, df.schema)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...