У меня есть набор данных в формате
scala> rxClaimsUpdated.take(1)
res0: Array[(String, Array[String])] = Array((186037020,Array(
22960551,
hfeu0ysji96afjdicbmqbheop0zsbfuvs4ongjb6yqg=,
095aa9d791b7b0b0f7f312435b8e30f1,
2016-10-15,
2015-02-13,
00186037020,
10,
30,
"",
20)))
для внутреннего массива я хочу обновить 9-й элемент (последний), если его значение равно 0. (в данном примере значение равно 20).
код, который я пробовал, который дает ошибку
val rxClaimsUpdatedtemp = rxClaimsUpdated.map(z =>
if(z._2(9).toInt == 0) z._2.updated(9,1)
else z._2(9)
)
найди мою ошибку ниже
<console>:55: 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.
val rxClaimsUpdatedtemp = rxClaimsUpdated.map(z => if(z._2(9).toInt == 0) z._2.updated(9,1) else z._2(9))
^