Spark 2.1将UDF注册到functionRegistry

时间:2017-11-17 17:26:54

标签: apache-spark apache-spark-sql spark-dataframe user-defined-functions apache-spark-2.0

您好我想注册已创建的UDF对象。我正在使用spark 2.1,并且sparkSession.udf.register()函数不接受UDF参数只有常规的scala函数。很容易错过大型Spark API中的某些东西,所以只是要问是否有一个函数或构造函数可以在2.1中使用它?

1 个答案:

答案 0 :(得分:1)

在这种情况下,我反驳问题并使用udf注册来获取UserDefinedFunction

import org.apache.spark.sql.expressions.UserDefinedFunction

val id: UserDefinedFunction = spark.udf.register("id", (x: Int) => x)

哪个适用于DataFrames

val id: UserDefinedFunction = spark.udf.register("id", (x: Int) => x)

和SQL:

spark.sql("SELECT id(id) FROM RANGE(42)")