Spark Dataframe mapPartitions в Scala - PullRequest
       1

Spark Dataframe mapPartitions в Scala

0 голосов
/ 29 ноября 2018

есть ли у кого-нибудь рабочий пример функции mapPartitions для фрейма данных?

Обратите внимание: я не смотрю примеры СДР.

Обновление:

Пример, который был опубликован MasterBuilder, если теоретически в порядке, но практически имеет некоторые проблемы.Пожалуйста, попробуйте получить поток структурированных данных, таких как Json

val df = spark.load.json("/user/cloudera/json")
val newDF = df.mapPartitions(
  iterator => {

    val result = iterator.map(data=>{/* do some work with data */}).toList
    //return transformed data
    result.iterator
    //now convert back to df
  }

 ).toDF()

Заканчивается с этой ошибкой:

<console>:28: error: Unable to find encoder for type stored in a Dataset.  
Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._  
Support for serializing other types will be added in future releases.

Есть ли способ заставить это работать?Что не так с приведенным выше кодом?

1 Ответ

0 голосов
/ 29 ноября 2018
 import sqlContext.implicits._

    val newDF = df.mapPartitions(
      iterator => {

        val result = iterator.map(data=>{/* do some work with data */}).toList
        //return transformed data
        result.iterator
        //now convert back to df
      }

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