一.自定义UDF函数以及加载到Linux上运行
1.引入依赖
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.2.1</version>
</dependency>
注意:可能会出现引入依赖失败的情况,在settings文件中修改镜像
tab键与空格键的问题,此处用的是tab键开头,此点可能影响打包
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>spring-plugin</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
</mirror>
2.写代码,继承UDF,导包,实现逻辑,在文件夹中把jar包上传到Linux上
3.打jar包上传到Linux (后面跟jar包的完整路径)
add jar /usr/local/soft/jars/HiveUDF2-1.0.jar;
4.使用jar包资源注册一个临时函数
create temporary function 函数名 as ‘主类名’;
create temporary function fxxx1 as 'MyUDF';
5.使用所起的函数名处理数据
二.实现函数永久生效
(继上面3步骤进行)
把jar包放到HDFS上,不用手动add jar 直接使用函数
1.hdfs上创建一个文件夹存放jar包,将jar包上传至该目录
2.在hive shell中执行命令
三个参数分别为:永久函数名,主类名,jar包在hdfs上的路径
create function hxudf as 'com.shujia.hivefun.MyUDF' using jar 'hdfs:/shujia/bigdata17/jar/hive-udf1.jar';
3.退出hive,执行函数进行测试