分享

工作经验分享:hive中自定义函数

hyj 2021-1-19 17:25:30 发表于 Hive [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 0 2624

导读
hive有系统函数,但是如果不满足我们的需求,这时候,可以自定义udf。那么什么情况下自定义udf,有没有案例那,下面可以参考

1、需求:
需要对json数据表中的json数据写一个自定义函数,用于传入一个json,返回一个数据值的数组
json原始数据表:


1.png

需要做ETL操作,将json数据变成普通表数据,插入另一个表中:


1.png

2、实现步骤:
step1、开发java的UDF类,继承UDF类并且重载方法
public C evaluate(A a,B b);


1.png

step2、打jar包
step3、上传jar包到运行hive所在的linux机器


1.png

step4、将此jar包添加到hive环境中
3:jdbc:hive2://localhost:10000>add jar /root/hivetest/hive-1.0-SNAPSHOT.jar


1.png

step5、用命令去创建一个函数关联自定义的java类
3:jdbc:hive2://localhost:10000>create temporary function myjson as ''com.ll.hive.MyJsonParser";


1.png

step6、使用自定义的函数
create table t_rate
as
select myjson(json,1) as movie,
myjson(json,2) as rate,
myjson(json,3) as tS,
myjson(json,4) as uid
from t_ratting;


1.png



没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条