#udf
#创建maven工程
#pom.xml
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>3.1.2</version>
</dependency>
#创建继承自UDF的自定义类
import org.apache.hadoop,hive.ql.exec.UDF;
public class CLASS_NAME extends UDF{
public RETURN_TYPE evaluate(IN_TYPE...args){...}
}
#使用maven Lifecycle中package命令打jar包
#把打好的jar包上传至/opt/software/hive312/lib/xxx.jar
#在hive的客户端窗口执行如下命令导入jar包
add jar '/opt/software/hive312/lib/xxx.jar'
#在hive的客户端窗口创建临时函数
create temporary function func_alial as 'cn.kgc.hive.udf.DatePartBoundary'
#当前客户端窗口正常使用别名调用函数
0: jdbc:hive2://192.168.19.130:10000> select datepart('2021-06-18','Y',true);
+-------------+
| _c0 |
+-------------+
| 2021-01-31 |
+-------------+
0: jdbc:hive2://192.168.19.130:10000> select datepart(1234567890987,'Y',false);
+-------------+
| _c0 |
+-------------+
| 2009-12-31 |
+-------------+