Hive UDF开发

2014-11-24 14:46:24 · 作者: · 浏览: 25

Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。
Hive的UDF开发只需要重构UDF类的eva luate函数即可。例:
package com.hrj.hive.udf;


public class helloUDF extends UDF {


public String eva luate(String str) {


try {


return \"HelloWorld \" + str;


} catch (Exception e) {


return null;


}


}


}


将该java文件编译成helloudf.jar
hive> add jar helloudf.jar;


hive> create temporary function helloworld as 'com.hrj.hive.udf.helloUDF';


hive> select helloworld(t.col1) from t limit 10;


hive> drop temporary function helloworld;


注:


1. helloworld为临时的函数,所以每次进入hive都需要add jar以及create temporary操作
2. UDF只能实现一进一出的操作,如果需要实现多进一出,则需要实现UDAF