Я написал следующий код для выполнения некоторых действий, основанных на значении поля для каждой строки:
import spark.implicits._
table.map(line =>
column_names.map(column =>
if (line.getAs[Int](column)==0)
println("yes")
)
)
Однако я сталкиваюсь со следующей ошибкой:
java.lang.UnsupportedOperationException: No Encoder found for Unit
- array element class: "scala.runtime.BoxedUnit"
- root class: "scala.collection.immutable.List"
Я понимаю, чтокодер требуется для преобразования объектов и примитивов в Spark InternalRow, но поле, к которому я пытаюсь получить доступ, содержит int, и, исходя из моего понимания, соответствующий кодер должен быть доступен благодаря spark.implicits ._.
Не могли бы вы сказать мне, что мне не хватает и что я должен сделать, чтобы это исправить?