Java实现Hive的UDF(案例)

目录

 

构成

一、Java部分

二、在jar包导出

三、在hive中添加jar包

四、在hive中使用UDF函数


构成

一、Java脚本实现想要实现的功能。

二、另外一个部分为HQL部分,调用Java脚本对数据进行处理。

一、Java部分

       编写UDF函数,首先要继承UDF类并且实现evaluate()函数。对于每一行输入都会调用到evaluate()函数。而evaluate()函数处理后的值会返回给Hive。

        注意:evaluate()函数的参数和返回值类型只能是Hive可以序列化的数据类型。

比如:输入一个数字,输出从1到该数字的一个列表

可用main函数测试,结果为:

二、在jar包导出

在Eclipse中选择file->Export->出现下面窗口,输入包名,导出到电脑中。

三、在hive中添加jar包

add jar hdfs:///zeus/hdfs-upload-dir/scale.jar-20180903-103859.jar;

四、在hive中使用UDF函数

函数在使用时要命一个名称,这是和Python中不一样的地方,具体如下:

add jar jar包路径;
create temporary function Scale as "ctrip.Scale";
select masterhotelid,
       Scale(max_price) as scale
  from table;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值