您的位置:首页 > 其它

Hive函数

2016-04-20 18:05 267 查看
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 ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: