我正在尝试使用hive udf来计算列x
的百分位数值。但是,当我使用spark-submit执行以下操作时,我得到以下运行时异常:
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFPercentileApprox
val x = df_grouped.select(callUDF("percentile_approx",col("x"),lit(0.05))).head.getDouble(0)
println(x)
当我执行上面的代码时,我得到以下内容:
org.apache.spark.sql.AnalysisException: undefined function percentile_approx;
at org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry$$anonf
如果有更好的方法来计算百分位值,那也值得赞赏。