Hive函数

UDF:
参照https://cwiki.apache.org/confluence/display/Hive/OperatorsAndFunctions
1、创建要实现的功能类,继承UDF,需要覆盖evaluate方法
2、将要实现的功能类编译成jar包,并添加值hive classpath
   进入hive shell模式,通过 add jar path 命令
3、创建自定义的聚合函数名称并指定实现类,如下
   create temporary function parseYear as 'com.hive.udf.ParseYearUDF';//解析出日期中年份
4、实现调用:
   select parseYear(date) from mm where id=1;
ReflectUDF:
参照https://cwiki.apache.org/confluence/display/Hive/ReflectUDF
UDAF:
实现一个通用的UDAF有两个部分:
1、编写一个解析器类 处理类型检查和操作符重载 并帮助hive找到正确的评估者类对于给定的一组参数类型。然后评估类实际上实现了UDAF逻辑
2、创建一个评估者类 UDAF的实际逻辑实现
一般来说,顶级UDAF类扩展了抽象基类org.apache.hadoop.hive.ql.udf.GenericUDAFResolver2,评估者类写成静态内部类。
add jar /home/demo/hongyuan/bigdata-hive.jar ;
create temporary function rmv as 'com.hive.udf.RemoveDuplicateUDAF';
select rmv(name) from mytest ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值