下面是我的java udf代码,
package com.udf;
import org.apache.spark.sql.api.java.UDF1;
public class SparkUDF implements UDF1<String, String> {
@Override
public String call(String arg) throws Exception {
if (validateString(arg))
return arg;
return "INVALID";
}
public static boolean validateString(String arg) {
if (arg == null | arg.length() != 11)
return false;
else
return true;
}
}
我正在用这个类构建jar SparkUdf-1.0-SNAPSHOT.jar
我在配置单元中有一个表名作为示例,希望在sparkshell上的sql下运行。
> select UDF(name) from sample ;
用下面的命令启动Spark壳。
spark shell--jars sparkudf-1.0-snapshot.jar
谁能告诉我,如何在sparkshell上注册udf以在sparksql中使用它?
1条答案
按热度按时间inn6fuwd1#
再找了几遍,我得到了答案,
以下是步骤,
你会得到结果的。