2016-05-23 55 views
4

我試圖創建一個UDF,將在一列以0星火UDF錯誤 - 模式類型的任何不支持

我的數據框被取代消極的價值觀 - 所謂的DF,以及含有一種叫avg_x一列。 這是我創建UDF

val noNegative = udf {(avg_acc_x: Double) => if(avg_acc_x < 0) 0 else "avg_acc_x"} 

代碼我得到這個錯誤

java.lang.UnsupportedOperationException: Schema for type Any is not supported 

df.printSchema返回

​​

,所以我不明白爲什麼這個錯誤發生?

回答

11

這是因爲else返回String"avg_acc_x"。拿走報價:

val noNegative = udf {(avg_acc_x: Double) => if(avg_acc_x < 0) 0 else avg_acc_x}