есть ли у кого-нибудь рабочий пример функции 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.
Есть ли способ заставить это работать?Что не так с приведенным выше кодом?