oth*_*r15 8 apache-spark apache-spark-sql spark-dataframe
我正在尝试创建一个udf,用0替换列中的负值.
我的数据帧叫做df,包含一个名为avg_x的列.这是我创建udf的代码
val noNegative = udf {(avg_acc_x: Double) => if(avg_acc_x < 0) 0 else "avg_acc_x"}
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
java.lang.UnsupportedOperationException: Schema for type Any is not supported
Run Code Online (Sandbox Code Playgroud)
df.printSchema返回
|-- avg_acc_x: double (nullable = false)
Run Code Online (Sandbox Code Playgroud)
所以我不明白为什么会出现这种错误?
Dav*_*fin 16
这是因为else返回了String:"avg_acc_x".拿掉报价:
val noNegative = udf {(avg_acc_x: Double) => if(avg_acc_x < 0) 0 else avg_acc_x}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11722 次 |
| 最近记录: |