Hive函数

来源:互联网 发布:2016有什么网络神书 编辑:程序博客网 时间:2024/05/22 14:53
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 ;
0 0
原创粉丝点击