我正在尝试创建一个名为roundIfDouble
的UDF,理想情况下,我希望它采用通用类型的参数。该函数的目标是仅在值是双精度值时才取整,否则仅返回原始值。结构(伪代码)应遵循:
val roundIfDouble = udf(
(value : T, n : Int) => {
if (value.getClass.getSimpleName == "double") {
round(value, n)
} else {
value // do nothing
}
})
如何在Scala / Spark的任何函数/ udf中传递与value : T
等效的通用值?