具有替代方法的重载方法值 udf
Overloaded method value udf with alternatives
我正在尝试使用以下代码在 Databricks Community Edition 中注册 table:
import org.apache.spark.sql.functions.udf
val getDataUDF(url: String):Unit = udf(getData(url: String):Unit)
但是,我得到一个错误:
overloaded method value udf with alternatives:
你的UDF语法看起来有点奇怪,你不应该在调用getData()
时定义类型。此外,UDF 的输入应该在方法本身内部。
例如,您有一个这样的方法 getData
(它应该有一个 return 值):
def getData(url: String): String = {...}
做成udf有两种方法:
重写getData
为函数
val getData: (String => String) = {...}
val getDataUDF = udf(getData)
调用udf
里面的getData
方法
val getDataUDF = udf((url: String) => {
getData(url)
})
这两种方式应该都可以,个人觉得方式一更好一些。
我正在尝试使用以下代码在 Databricks Community Edition 中注册 table:
import org.apache.spark.sql.functions.udf
val getDataUDF(url: String):Unit = udf(getData(url: String):Unit)
但是,我得到一个错误:
overloaded method value udf with alternatives:
你的UDF语法看起来有点奇怪,你不应该在调用getData()
时定义类型。此外,UDF 的输入应该在方法本身内部。
例如,您有一个这样的方法 getData
(它应该有一个 return 值):
def getData(url: String): String = {...}
做成udf有两种方法:
重写
getData
为函数val getData: (String => String) = {...} val getDataUDF = udf(getData)
调用udf
里面的getData
方法val getDataUDF = udf((url: String) => { getData(url) })
这两种方式应该都可以,个人觉得方式一更好一些。