hive函数中的operators, UDF, UDAF, UDTF, PTF
operators
=, !=, <, >, IS NULL, …
+, -, *, /, …
AND, OR, IN, …
UDF(User Defined Functions)
hive内置的udf函数(1 -> 1):**
math: round, floor, ceil, exp, log, …
date: to_date, from_unixtimestamp, …
conditional: if, isnull, case, coalsce, …
string: char, concat, lower, trim, repeat, …
自定义的UDF实现方法:
继承UDF类
重写evaluate方法
将该java文件编译成jar
UDAF(User Defined Aggregate Functions)
hive内置的udaf函数(n -> 1):
count, sum, min, max, corr, …
自定义的UDAF实现方法:
1,用户的UDAF必须继承了org.apache.hadoop.hive.ql.exec.UDAF;
2,用户的UDAF必须包含至少一个实现了org.apache.hadoop.hive.ql.exec的静态类,诸如实现了 UDAFEvaluator
3,一个计算函数必须实现的5个方法的具体含义如下:
init():主要是负责初始化计算函数并且重设其内部状态,一般就是重设其内部字段。一般在静态类中定义一个内部字段来存放最终的结果。
iterate():每一次对一个新值进行聚集计算时候都会调用该方法,计算函数会根据聚集计算结果更新内部状态。当输 入值合法或者正确计算了,则 就返回true。
terminatePartial():Hive需要部分聚集结果的时候会调用该方法,必须要返回一个封装了聚集计算当前状态的对象。
merge():Hive进行合并一个部分聚集和另一个部分聚集的时候会调用该方法。
terminate():Hive最终聚集结果的时候就会调用该方法。计算函数需要把状态作为一个值返回给用户。
UDTF(User Defined Tabular Functions)
hive内置的udtf函数(1 -> n):
explode, posexplode, parse_url_tuple, …
自定义的实现方法:
继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF
2.initialize():UDTF首先会调用initialize方法,此方法返回UDTF的返回行的信息(返回个数,类型)
3.process:初始化完成后,会调用process方法,真正的处理过程在process函数中,在process中,每一次forward() 调用产生一行;如果产生多列 可以将多个列的值放在一个数组中,然后将该数组传入到forward()函数
4.最后close()方法调用,对需要清理的方法进行清理
PTF(Partitioned table Function, Window Functions)
hive内置的ptf函数(n -> m):
ROW_NUMBER(), RANK(), DENSE_RANK()
ROW_NUMBER() : 给分区每一行分别编号
RANK() :分区排名
DENSE_RANK() : 分区排名(紧密连续的名次)
hive函数中的operators, UDF, UDAF, UDTF, PTF相关推荐
- Hive 之 用户自定义函数 UDF UDAF UDTF
一 什么是UDF UDF是UserDefined Function 用户自定义函数的缩写.Hive中除了原生提供的一些函数之外,如果还不能满足我们当前需求,我们可以自定义函数. 除了UDF 之外,我们 ...
- udf,udaf,udtf之间的区别
1.UDF:用户定义(普通)函数,只对单行数值产生作用: 继承UDF类,添加方法 evaluate() /*** @function 自定义UDF统计最小值* @author John**/publi ...
- UDF UDAF UDTF 区别
UDF UDAF UDTF 区别 UDF 概念: User-Defined-Function 自定义函数 .一进一出:只对单行数据产生作用: 实际使用时,UDF函数以匿名函数的形式进行操作使用 背景: ...
- Hive 自定义函数编写(UDF,UDAF,UDTF)
Hive自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义 UDF来方便的扩展. 当 Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数. 1. ...
- hive的udf,udaf,udtf各自依賴兩種class(转载+分析整理)
Hive自定义函数包括三种UDF.UDAF.UDTF 名稱縮寫 特點 依賴 UDF(User-Defined-Function) 一进一出 org.apache.hadoop.hive.ql.exec ...
- udf函数(udf udaf udtf)
UDF的定义 UDF(User-Defined Functions)即是用户定义的hive函数.hive自带的函数并不能完全满足业务需求,这时就需要我们自定义函数了 UDF的分类 UDF:one to ...
- Hive自定义UDF UDAF UDTF
Hive是一种构建在Hadoop上的数据仓库,Hive把SQL查询转换为一系列在Hadoop集群中运行的MapReduce作业,是MapReduce更高层次的抽象,不用编写具体的MapReduce方法 ...
- Hive常用函数、列转行与行转列、开窗函数、UDF、UDTF
Hive函数.开窗函数.UDF.UDTF 1.系统内置函数 2.常用函数 2.1.关系运算 2.2.数值运算 2.3.条件函数 2.4.日期函数 2.5.字符串函数 2.6.Hive求WordCoun ...
- 【若泽大数据实战第十九天】Hive 函数UDF开发以及永久注册udf函数
前言: 回顾上期课程,上次课我们讲了聚合函数,多进一出, 分组函数 group by,出现在select里面的字段除了分组函数之外,其他都要出现在group by里面,分组函数的过滤必须使用hivi ...
- hive java udf_hive java编写udf函数
(一)创建JAVA 代码--例子 package hiveOpt; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoo ...
最新文章
- JSON数据解析:Gson(谷歌)和fastjson(阿里巴巴)的异同点
- python 深度 视差 计算_2,Learn about Parallax(视差贴图)
- 如何配置神经网络中的层数和节点数
- 一年级abb式词语并造句_ABB式词语如何活学活用,家长都收藏了!
- Oracle基础查询
- stm32f10x 安装包_Keil5 Pack Installer下载_Keil5 Pack 离线安装包下载 2.2.0 官方正式版_当载软件站...
- jquery 时间选择插件-jedate
- SQL Server数据库被置疑的解决方案
- 文件传阅系统无纸化文件流转系统
- openproject_OpenProject入门
- chrome浏览器使用
- Cadence PSpice 仿真1: 三极管传输特性曲线直流仿真图文教程
- WEB安全之文件上传--白名单绕过%00截断
- nginx 模糊匹配location写法
- 高价iPhone陷低谷 苹果又推2799元的HomePod 你买吗?
- C语言学习笔记(C程序设计-谭浩强)
- 盘点美国最出人意料的20种高薪职业
- 苹果手机如何关闭自动续费_微信支付宝一键关闭自动续费
- (转载)Go语言最全学习路线(2022)---一站式Go学习引导!!!
- 一个关于windows服务管理的工具的源码
热门文章
- <Safari浏览器插件>使json代码能格式化显示
- ASC19 初赛要求自翻译
- CESM优化——Intel编译器编译安装NetCDF库(C+Fortran)
- 对大众点评网会员制的一点分析
- 华南理工大学计算机学院创新班,高校纷推创新班揽生源 逐步淘汰冷门专业
- 平板触屏笔什么比较好?实用平板电脑手写电容笔推荐
- 数据开发常用的几种数据预处理和数据整理方法
- 上海电力大学计算机专业考研好考么,上海电力大学(专业学位)计算机技术考研难吗...
- 泰坦尼克号数据_泰坦尼克号数据可视化分析
- REDO和UNDO详解