Я только начал изучать Scala для моего официального проекта. Я не смог решить следующий вариант использования после проверки нескольких потоков в Stack Overflow и других потоках.
Мне нужно перебрать набор данных, где каждая из выходных строк может иметь переменное количество пар ключ-значение. Вот мой код.
val flattendDataset = ds.map(
eachRow => {
val processedResponseJSON = eachRow.requestBody
// It might have different number of key-value pair for each ds entry.
val responseAsMapFromJson:Map[String, AnyRef] = parseJson(processedResponseJSON)
responseAsMapFromJson:Map
}).collect
PN - ds - это набор данных искры.
Это происходит со следующей ошибкой
java.lang.UnsupportedOperationException: No Encoder found for scala.AnyRef
- map value class: "java.lang.Object"
- array element class: "scala.collection.mutable.Map"
- root class: "scala.collection.immutable.List"
at org.apache.spark.sql.catalyst.ScalaReflection$$anonfun$org$apache$spark$sql$catalyst$ScalaReflection$$serializerFor$1.apply(ScalaReflection.scala:650)
Как я могу решить эту проблему