我在使用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