Вы передаете String,String
при регистрации udf, но для регистрации UDF нам нужно передать аргументы как String
, function
- для этого случая нам нужно передать
"udf_sel",concat_udf _
Попробуйте использовать любой из следующих подходов:
def concat_udf(fN: String,lN : String) : String ={
fN + lN
}
spark.sqlContext.udf.register("udf_sel",concat_udf _)
spark.sql("select FirstName,LastName, udf_sel(FirstName,LastName) AS CONCATENATEDNAME FROM checks").show()
* * Тысяча двадцать-одиной (или) * * одна тысяча двадцать-дв
val cnct=(fn:String,ln:String)=> {fn + ln}
spark.sqlContext.udf.register("udf_sel",cnct)
spark.sql("select FirstName,LastName, udf_sel(FirstName,LastName) AS CONCATENATEDNAME FROM checks").show()
(или)
spark.sqlContext.udf.register("udf_sel",(fn:String,ln:String) => fn+ln)
spark.sql("select FirstName,LastName, udf_sel(FirstName,LastName) AS CONCATENATEDNAME FROM checks").show()