天天看点

第一个Hive UDAF函数

hive提供了org.apache.hadoop.hive.ql.exec.UDF类和org.apache.hadoop.hive.ql.exec.UDAF类,我们可以通过继承这个类来实现不同功能的函数,在脚本中很方便的调用它。

第一步,在eclipse中创建一个java项目,命名为ConnectGroup

第二步,导入UDAF需要的jar包,hive-exec-???.jar(或者用find / -name hive-exec-*查找机器上hive对应的包,例如hive-exec-0.9.0.jar)

第三步,建一个新类,命名为ConnectGroup,源代码:http://blog.csdn.net/sptoor/article/details/10172757

第四步,将这个java文件打包成java jar,eclipse中选择该文件点击右键选择"export",选择好jar包的保存路径。注意,不要选“runnable jar file”。

第五步,将打好的jar包上传到hive机器上。

此时自定义UDF函数就完成了,下面需要把它加入到hive的环境中去

第六步,进入自己的hive环境,输入命令add jar ConnectGroup.jar

hive> add jar /root/test_hive/ConnectGroup.jar;

第七步,创建一个临时函数,名称自定义(给自定义的UDF取个名),as后面是jar包保存的类的名称

hive>create temporary function ConnectGroup as 'ConnectGroup';

第八步,使用这个函数

hive> select ConnectGroup(name) from text_table;

另:如果要删除这个函数:drop temporary function ConnectGroup;

继续阅读