在使用hive中,有时要根据业务需求自定义一些函数,下面是自定义函数的步骤
1.新建一个maven项目,在项目的pom文件中引入依赖
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>3.1.2</version>
</dependency>
2.新建一个class,继承UDF,并重写evaluate()方法,下面是一个增加字段前缀的方法,具体实现参考如下代码
import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDF;
import java.util.Random;
@Description(
name = "min",
value = "_FUNC_(expr) - add a number and '_' before the expr"
)
public class AddPrefixUDF extends UDF {
public String evaluate(String input){
Random random = new Random();
int num = random.nextInt(10);
return num + "_" + input;
}
publi