toDF () не поддерживается - PullRequest
       17

toDF () не поддерживается

0 голосов
/ 17 апреля 2020

Я очень новичок в Scala. Я пытаюсь преобразовать Iterable[dataSet[Row]] в кадр данных. Это не работает для меня. Вот код

def execute(spark: SparkSession,
          input: Iterable[Dataset[Row]],
          execParams: Map[String, String]): Dataset[Row] = {

val spark: SparkSession = SparkSession.builder.master("local").getOrCreate
val sparkSession: SparkSession = SparkSession.builder().getOrCreate()
import sparkSession.implicits._

val jsonSeq = Seq(input)
val jsonRDD = sparkSession.sparkContext.parallelize(jsonSeq)
val jsonDF = jsonRDD.toDF()
}

1 Ответ

0 голосов
/ 17 апреля 2020

Вы можете сначала преобразовать в Dataset, а затем преобразовать в Dataframe

def execute(spark: SparkSession,
          input: Iterable[Dataset[Row]],
          execParams: Map[String, String]): Dataset[Row] = {
    import spark.implicits._

    val jsonSeq = Seq(input)
    val jsonRDD = spark.sparkContext.parallelize(jsonSeq)
    val jsonDF = spark.createDataset(jsonRDD).toDF()
}

Если вам не нравится преобразование в набор данных, вы можете указать тип СДР:

val jsonRDD: RDD[Iterable[Dataset[Row]]] = spark.sparkContext.parallelize(jsonSeq)
val jsonDF = spark.createDataFrame[Iterable[Dataset[Row]]](jsonRDD).toDF()

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