0

안녕하세요, 이미 생성 된 UDF 객체를 등록하고 싶습니다. Spark 2.1을 사용 중이며 sparkSession.udf.register() 함수는 UDF 매개 변수를 일반 스칼라 함수 만 허용하지 않습니다. 큰 Spark API에서 뭔가를 놓치기 쉽습니다. 그래서 2.1에서 이것을 허용 할 함수 나 생성자가 있습니까? 이 경우Spark 2.1 functionRegistry에 UDF를 등록하십시오.

답변

1

나는이 문제를 반대하고 UserDefinedFunction가 얻을 UDF 등록을 사용하십시오 :

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)")