我在使用callUDF功能挣扎,我总是收到错误,表示函数没有注册。我粘贴下面的示例代码:Apache Spark 1.6.0,callUDF失败
UDF1<String, String> func = new UDF1<String, String>(){
public String call(String s) throws Exception {
return s +"fixedString";
}
};
sqlContext.udf().register("test",func, DataTypes.StringType);
out = out.select(out.col("VERSION"),callUDF("test",out.col("STEP_EXECUTION_ID")));
我总是收到以下错误,代码中缺少的是什么。
org.apache.spark.sql.AnalysisException: undefined function test;
at org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry$$anonfun$2.apply(FunctionRegistry.scala:65)
at org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry$$anonfun$2.apply(FunctionRegistry.scala:65)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry.lookupFunction(FunctionRegistry.scala:64)
错误是org.apache.spark.sql.AnalysisException:未定义的函数测试; –
然后你最好编辑你的问题来提高可读性。 – Akira
没关系。我刚刚做完。 – Akira