Мы получаем общий фид данных, где это значение и тип данных в 2 столбцах.Очевидно, что для общего решения я хочу передать значение столбца в приведение, а не явное приведение всего, основываясь на других справочных данных.
Я пробовал это, но получаю исключение.Так что 2 вопроса на самом деле это возможно?Почему мое решение дает исключение?
Я пытаюсь объявить UDF, который передает тип обратно.
def dynamiccast(datatype: String) : DataType = {
var b:DataType = null
datatype match {
case "INT" => b = IntegerType
case "STRING" => b = StringType
case "BOOLEAN" => b = BooleanType
}
b
}
val castUDF = udf[DataType, String](dynamiccast)
Я получаю это исключение:
java.lang.UnsupportedOperationException: Schema for type org.apache.spark.sql.types.DataType is not supported
Приветствия