Hive 函数简介
Hive 函数
一、系统自带的函数
1.查看系统自带的函数有哪些:
show functions;
2.显示自带函数的用法:
desc function 函数名;
3.详细显示自带函数:
desc function extended 函数名
4.调用函数
只需要在hive里面调用函数名并根据函数传入适当的参数就可以了,示例:
select concat(column1,column2) as x from table;
二、自定义函数
hive 虽然自带了一些函数,但是通过自带的函数是无法满足需求的,这个时候就需要自定义了。
自定义函数的分类:
UDF 一进一出、UDAF 多进一出(类似于count、min、max等) 和一进多出(例如 lateral view explore)
编程步骤:
1.继承org.apache.hadoop.hive.ql.UDF
2.实现evaluate() 函数
3.在hive命令窗口创建函数
1) 先添加打包的jar: add jar jar包名
2) 创建function : create [temporary] function 函数名 as class_name
注意: UDF中的evaluate()函数的参数和返回值类型只能是hive 可以序列化的数据类型,且必须要有返回值,可以返回null。
三、超级简单的自定义函数的示例
1.创建一个类,将字符串转为小写
package com.kala.hive
import org.apache.hadoop.ql.exec.UDF
public class Lower extends UDF{
public String evaluate(final Sring s){
if(s == null){
return null;
}
return s.toString().toLowerCase();
}
}
2.打成jar 上传到/hive
3.添加jar
add jar /hive/LowerUDF.jar
4.创建函数
create function fun_test as "com.kala.hive.Lower"
5.可以在hive里使用自定义函数了
- 点赞
- 收藏
- 关注作者
评论(0)