您的位置:首页 > 其它

Hive UDF开发(多个参数)

2013-08-03 22:30 381 查看
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:
package com.sohu.hive.udf;

import org.apache.hadoop.hive.ql.exec.UDF;

public class Md5 extends UDF {
public String evaluate(String url,Integer num) {
try {

return MD5Util.getMD5Str(url).substring(0,
num-1);

} catch (Exception e) {
e.printStackTrace();
return url;

}

}
}
将该java文件编译成md5.jar
hive>add jar md5.jar;
hive>create temporary function md5 as 'com.sohu.hive.udf.Md5';
hive>select md5(url,10) from focuspvlog limit 2;
hive>drop temporary function md5
注:md5为临时的函数,所以每次进入hive都需要add jar以及create temporary操作UDF只能实现一进一出的操作,如果需要实现多进一出,则需要实现UDAF
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Hive udf