HIVE 用户自定义函数(UDF)
来源:互联网 发布:sqlserver数据库迁移 编辑:程序博客网 时间:2024/05/29 14:17
当HIVE的内置函数不能满足需求时,可以通过编写用户自定义函数UDF(User-Defined Functions)插入自己的处理代码并在查询中使用它们。
HIVE中由三种UDF:
1、普通的UDF,用于操作单个数据行,且产生一个数据行作为输出。
2、用户定义聚集函数UDAF(User-Defined Aggregating Functions),用于接受多个输入数据行,并产生一个输出数据行。
3、用户定义表生成函数UDTF(User-Defined Table-Generation Functions),用于操作单个输入行,产生多个输出行。
说明:
● 一个UDF必须继承自“org.apache.hadoop.hive.ql.exec.UDF”。
● 一个UDF必须至少实现一个evaluate()方法,evaluate函数支持重载。
● 编写HIVE UDF,可以extends UDF,重写evaluate()方法;也可以extends GenericUDF,重写initialize()、getDisplayString()、evaluate()方法。
编写UDF样例代码:
package com.hadoop.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
public class UDFTest extends UDF {
public String evaluate(String str) {
try {
return "HelloUDF " + str;
} catch (Exception e) {
return null;
}
}
}
使用UDF:
将编写好的代码打成HelloUDF.jar包并上传到指定的hdfs目录下,登陆hive客户端:
在HIVE Server中注册该jar文件,执行SQL语句:add jar HelloUDF.jar;
在HIVE Server中定义该函数,执行SQL语句:create temporary function HelloUDF as 'com.hadoop.hive.udf.UDFTest';
在SELECT查询中使用该函数:select HelloUDF(t.col1) from t limit 1;
在HIVE Server中删除该函数,执行SQL语句:drop temporary function HelloUDF;
注:该方法生成的HelloUDF函数为临时函数,每次进入HIVE都需要执行add以及create temporary操作
- HIVE 用户自定义函数(UDF)
- Hive 用户自定义函数UDF详解
- Hive——用户自定义函数(UDF)
- Hive 用户自定义函数 UDF,UDAF
- Hive中的用户自定义函数UDF
- HIVE 自定义函数 UDF
- Hive自定义函数-UDF
- hive自定义函数UDF
- Hive自定义函数UDF
- Hive自定义UDF函数
- 自定义HIVE-UDF函数
- hive自定义函数UDF
- Hive学习之自定义函数(UDF)
- hive系列(2)---自定义函数UDF
- hive自定义函数(UDF和UDAF)
- Hive 之 用户自定义函数 UDF UDAF UDTF
- Hive内部自定义函数UDF
- hive 自定义函数UDF,UDAF
- python中yield用法
- Java : BlockingQueue 阻塞队列
- 在MQTT中使用SSL/TLS提高安全性
- Openfire在Linux下的性能优化
- Cognos 助力业务用户自由分析本地个人数据
- HIVE 用户自定义函数(UDF)
- C# WinForm下DataGridView绘制背景图
- 编程语言与武林门派
- 第二章 Spring MVC入门 —— 跟开涛学SpringMVC
- MySQL 生产环境 参数 配置
- mysql 中文乱码解决办法
- 比SharedPrefereces更强大的缓存工具类
- JSON 数据格式
- warning: Missing file: XXX is missing from working copy 警告错误解决