Hive UDF开发
2016-08-23 19:09
387 查看
Hive UDF开发
Hive UDF只能实现一进一出,即一条记录,经过处理后输出为一条记录,如果想多对一,即group by后进行聚合,那么就需要使用Hive自带的聚合函数,或者自己实现聚合函数(UADF)
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。
Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:
package com.ghl.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
public class helloUDF extends UDF {
}
将该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
Hive UDF只能实现一进一出,即一条记录,经过处理后输出为一条记录,如果想多对一,即group by后进行聚合,那么就需要使用Hive自带的聚合函数,或者自己实现聚合函数(UADF)
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。
Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:
package com.ghl.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
相关文章推荐
- Hive UDF开发
- Hive UDF开发(单个参数)
- Hive UDF 开发
- Hive UDF函数开发及企业规范
- Hive UDF函数开发及企业规范
- hive UDF开发入门(转)
- Hive UDF函数开发及企业规范
- Hive UDF开发指南
- hive UDF函数开发
- Hive UDF函数开发及企业规范
- Hive UDF开发(多个参数)
- 开发HIVE的UDF自定义函数
- 开发HIVE的UDF自定义函数
- 开发hive UDF函数
- Hive UDF开发实例学习
- hive开发UDF随记
- hive udf开发以及永久注册udf函数
- hive udf开发超详细手把手教程
- Hive UDF函数开发及企业规范
- Hive UDF函数开发及企业规范