`
szjian
  • 浏览: 72292 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hive UDF开发

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

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

public class helloUDF extends UDF {

public String evaluate(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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics