概述
在Hive中,用户可以自定义一些函数,用于扩展HiveQL的功能,这类函数分为三大类:
UDF(User-Defined-Function)
特点:一进一出;
继承UDF类(org.apache.hadoop.hive.ql.exec.UDF...相比于UDF,GenericUDF有两个优势
可以接受复杂的参数类型,返回复杂类型
可以接受变长参数个数(参数数组)
extends UDF
UDF类型的编写相对比较简单,父类源码github位置,简易示例如下...检查传入的参数个数与每个参数的数据类型是正确的;
保存 converters (ObjectInspector) 用以供 evaluate() 使用;
返回 ListObjectInspector,让...在Hive源码包org.apache.hadoop.hive.contrib.udaf.example中包含几个示例, 但是这些接口已经被注解为Deprecated,建议不要使用这种方式开发新的UDAF...但是一般是需要的.实例化Evaluator类的时候调用的,在不同的阶段需要返回不同的OI.需要注意的是,在不同的模式下parameters的含义是不同的,比如m为 PARTIAL1 和 COMPLETE