hive:函数:自定义函数(笔记)
7.2 自定义函数
1)Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。
2)当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。
3)根据用户自定义函数类别分为以下三种:
(1)UDF(User-Defined-Function)
一进一出
(2)UDAF(User-Defined Aggregation Function)
聚集函数,多进一出
类似于:count/max/min
(3)UDTF(User-Defined Table-Generating Functions)
一进多出
如lateral view explode()
4)官方文档地址
https://cwiki.apache.org/confluence/display/Hive/HivePlugins
5)编程步骤:
(1)继承org.apache.hadoop.hive.ql.exec.UDF
(2)需要实现evaluate函数;evaluate函数支持重载;
(3)在hive的命令行窗口创建函数
a)添加jar
add jar linux_jar_path
b)创建function
create [temporary] function [dbname.]function_name AS class_name;
(4)在hive的命令行窗口删除函数
Drop [temporary] function [if exists] [dbname.]function_name;
6)注意事项
(1)UDF必须要有返回类型,可以返回null,但是返回类型不能为void;
7.3 自定义UDF函数
1.创建一个Maven工程Hive
2.导入依赖
<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec --> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>1.2.1</version> </dependency> </dependencies> |
3.创建一个类
package com.atguigu.hive; import org.apache.hadoop.hive.ql.exec.UDF; public class Lower extends UDF { public String evaluate (final String s) { if (s == null) { return null; } return s.toLowerCase(); } } |
4.打成jar包上传到服务器/opt/module/jars/udf.jar
5.将jar包添加到hive的classpath
hive (default)> add jar /opt/module/datas/udf.jar;
6.创建临时函数与开发好的java class关联
hive (default)> create temporary function mylower as "com.atguigu.hive.Lower";
7.即可在hql中使用自定义的函数
hive (default)> select ename, mylower(ename) lowername from emp;
hive:函数:自定义函数(笔记)相关推荐
- Hadoop生态圈-hive编写自定义函数
Hadoop生态圈-hive编写自定义函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Hadoop生态圈-Hive的自定义函数之UDF(User-Defined-Function)
Hadoop生态圈-Hive的自定义函数之UDF(User-Defined-Function) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnb ...
- python函数——自定义函数详解
python函数内容参考 文章目录 python函数 自定义函数 返回值 分类 递归函数 嵌套函数(内部函数) 变量的作用域 全局变量: 局部变量: Python函数参数 参数的传递 可变对象-不可变 ...
- 函数----自定义函数
前言 目前所学的方式去计算"s = '人生若只如初见'"的长度. 用len()函数计算 s = '人生若只如初见' print(len(s)) # 用len()函数计算,len() ...
- 用matlab定义位移函数,matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法)...
matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法),哪吒游戏网给大家带来详细的matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法)介绍,大家可以阅读一下,希望这篇 ...
- hive udaf_Hive自定义函数
为什么需要自定义函数 hive的内置函数满足不了所有的业务需求. hive提供很多的模块可以自定义功能,比如:自定义函数.serde.输入输出格式等. 常见自定义函数UDF分三种: UDF(User ...
- Hive UDF自定义函数(临时和永久的区别)
Hive中虽然自带了一些函数,例如max().avg().sum()等,但有时候这些函数可能无法满足我们的需要,这时候就可以通过自定义UDF来进行扩展. 开发流程 UDF的开发流程基本有以下步骤: 继 ...
- Hive之自定义函数
1.系统内置函数 (1)查看系统自带的函数 show functions; (2)显示自带的函数的用法 desc function upper; (3)详细显示自带的函数的用法 desc fun ...
- 学习聚宽4:函数 下单函数 自定义函数(笔记简单,但是需要重点看)
@https://www.joinquant.com/view/community/detail/7570870ccf37ba48007261992d2e543a 一.函数 参数 聚宽设计的函数的用法 ...
- hive的自定义函数以及自定义加密函数
hive对于敏感数据的加密还不够完善,现在开发一个udf函数,自己设置密钥(hive的加密函数等级比较低,也没有集成自己加密的密钥函数,所以自己开发一个),如果要加密一些数据则可以自己使用特定的密钥进 ...
最新文章
- haproxy,lvs keepalived || heartbeat,nginx对比
- 全球及中国医用敷料市场销售前景与竞争格局研究报告2022版
- 真格量化——50etf与期权对冲策略
- c语言指针章总结,c语言指针的学习心得
- yuv转opencv中的IplImage
- python循环怎么跳过开始循环,如果循环内部调用的函数执行时间太长,你怎么能跳过python中的循环迭代?...
- CAD建模软件:BricsCAD 22 for Mac
- Ant—如何Windows操作系统中搭建Apache Ant环境
- C++ 多态与虚函数面试题
- Jmeter录制脚本介绍
- itunes显示无法更新服务器失败怎么办啊,iTunes更新时出错怎么办?iTunes更新时出错的解决方法...
- ps中怎样测量标尺线之间的距离及怎样切换距离单位
- 在Word中利用日历向导查农历
- (转)做好产品需求文档的10步
- 电脑黑屏显示重新连接服务器,电脑黑屏怎么处理(电脑上显示器黑屏的处理方法)...
- intersect的用法
- Discuz更改帖子标题的字符长度限制
- svn tree conflict
- IDEA 设置4个空格代替tab
- android极光推送声音,【极光推送】iOS APNS 自定义铃声