博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive的UDF(用户自定义函数)开发
阅读量:5054 次
发布时间:2019-06-12

本文共 1750 字,大约阅读时间需要 5 分钟。

  当 Hive 提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。

测试各种内置函数的快捷方法:

创建一个 dual 表

create table dual(id string);

load 一个文件(只有一行内容:内容为一个空格)到 dual 表

新建 JAVA maven 项目

添加依赖

org.apache.hive
hive-exec
1.2.1
org.apache.hadoop
hadoop-common
2.7.4
org.apache.maven.plugins
maven-shade-plugin
2.2
package
shade
*:*
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA

 

编写一个 java 类,继承 UDF,并重载 evaluate 方法

import org.apache.hadoop.hive.ql.exec.UDF;/** * hive的自定义函数 */public class ItcastFunc extends UDF{    //重载    public String evaluate(String input){        return input.toLowerCase();//将大写字母转换成小写    }    public int evaluate(int a,int b){        return a+b;//计算两个数之和    }}

 

打成 jar 包上传到服务器

将 jar 包添加到 hive 的 classpath

  

hive>add JAR /root/hivedata/udf.jar;

 

 

创建临时函数与开发好的 java class 关联

create temporary function udffunc as 'hive.udf.UDFFunc';//temporary表示为临时方法,当会话结束后失效;udffunc为hive中定义的函数名,‘hive.udf.UDFFunc’为自定义方法的全类路径

 

在 hive中使用自定义的函数 

select udffunc("ABC") from dual;//输出abc
select udffunc(2,3) from dual;//输出5

 

转载于:https://www.cnblogs.com/jifengblog/p/9278972.html

你可能感兴趣的文章
iOS 更好用的打Log方式-显示文件名、行数
查看>>
从MS SQL删除大数据说开去
查看>>
NOVO SOP (SOP简介及历史)
查看>>
windows7+docker添加php扩展
查看>>
V2019 Super DSP3 Odometer Correction Vehicle List
查看>>
Python 3.X 练习集100题 05
查看>>
今时不同往日:VS2010十大绝技让VS6叹服
查看>>
设计器 和后台代码的转换 快捷键
查看>>
在线视频播放软件
查看>>
用代码生成器生成的DAL数据访问操作类 基本满足需求了
查看>>
28初识线程
查看>>
Monkey测试结果分析
查看>>
Sublime Text 3 设置
查看>>
X64操作系统组件Jmail无法正常服务问题
查看>>
div 居中
查看>>
Vue 后台管理框架
查看>>
reactiveCocoa使用
查看>>
Orleans 序列化遇到的坑
查看>>
软件介绍(apache lighttpd nginx)
查看>>
Storm学习笔记1:Storm基本组件
查看>>