hive2mysql的udf_Hive自定义函数UDF

在使用hive的时候,hive本身自带的函数不足以满足于我们需求的情况下,我们可以自定义满足我们需求的函数。

一、hive自定义函数步骤:

1、继承org.apache.hadoop.hive.ql.exec.UDF;

2、写固定的evaluate()方法。这个方法名字是固定的。

注意:evaluate方法支持重载。

语言

方法

9283

uQpYS413hP

1536

2006.11.10 17-36-57

二、实例演示

1、代码

package com.hive.test;

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

public class HiveUdf extends UDF{

public String evaluate(int num){

if(num>1000){

return "very good";

}else if(num>500){

return "good";

}else {

return "bad";

}

}

}

2、将此代码打成jar包并上传linux

194434006_1_20200702100059646.png

3、准备测试数据

[root@cmaster test]# vim num.txt

194434006_2_20200702100059912.png

4、创建表并且导入数据

hive> create table mytest(id int) row format delimited fields terminated by ' ';

hive> load data local inpath '/test/num.txt' into table mytest;

5、将jar加载到hive中

hive> add jar /test/hiveUdf_jar/hive_test.jar

> ;

6、创建一个临时函数指向上边编译的类

hive> create temporary function myF as 'com.hive.test.HiveUdf';

7、可以调用这个函数了

hive> select myF(id) from mytest;

OK

very good

good

good

bad

Time taken: 1.742 seconds, Fetched: 4 row(s)

8、调用完函数可以删除

hive> drop temporary function myF;

注意:查询hive所有函数使用 show functions

hive> show functions;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值