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相关推荐

  1. Hive 之 用户自定义函数 UDF UDAF UDTF

    一 什么是UDF UDF是UserDefined Function 用户自定义函数的缩写.Hive中除了原生提供的一些函数之外,如果还不能满足我们当前需求,我们可以自定义函数. 除了UDF 之外,我们 ...

  2. udf,udaf,udtf之间的区别

    1.UDF:用户定义(普通)函数,只对单行数值产生作用: 继承UDF类,添加方法 evaluate() /*** @function 自定义UDF统计最小值* @author John**/publi ...

  3. UDF UDAF UDTF 区别

    UDF UDAF UDTF 区别 UDF 概念: User-Defined-Function 自定义函数 .一进一出:只对单行数据产生作用: 实际使用时,UDF函数以匿名函数的形式进行操作使用 背景: ...

  4. Hive 自定义函数编写(UDF,UDAF,UDTF)

    Hive自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义 UDF来方便的扩展. 当 Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数. 1. ...

  5. hive的udf,udaf,udtf各自依賴兩種class(转载+分析整理)

    Hive自定义函数包括三种UDF.UDAF.UDTF 名稱縮寫 特點 依賴 UDF(User-Defined-Function) 一进一出 org.apache.hadoop.hive.ql.exec ...

  6. udf函数(udf udaf udtf)

    UDF的定义 UDF(User-Defined Functions)即是用户定义的hive函数.hive自带的函数并不能完全满足业务需求,这时就需要我们自定义函数了 UDF的分类 UDF:one to ...

  7. Hive自定义UDF UDAF UDTF

    Hive是一种构建在Hadoop上的数据仓库,Hive把SQL查询转换为一系列在Hadoop集群中运行的MapReduce作业,是MapReduce更高层次的抽象,不用编写具体的MapReduce方法 ...

  8. Hive常用函数、列转行与行转列、开窗函数、UDF、UDTF

    Hive函数.开窗函数.UDF.UDTF 1.系统内置函数 2.常用函数 2.1.关系运算 2.2.数值运算 2.3.条件函数 2.4.日期函数 2.5.字符串函数 2.6.Hive求WordCoun ...

  9. 【若泽大数据实战第十九天】Hive 函数UDF开发以及永久注册udf函数

    前言: 回顾上期课程,上次课我们讲了聚合函数,多进一出, 分组函数  group by,出现在select里面的字段除了分组函数之外,其他都要出现在group by里面,分组函数的过滤必须使用hivi ...

  10. hive java udf_hive java编写udf函数

    (一)创建JAVA 代码--例子 package hiveOpt; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoo ...

最新文章

  1. JSON数据解析:Gson(谷歌)和fastjson(阿里巴巴)的异同点
  2. python 深度 视差 计算_2,Learn about Parallax(视差贴图)
  3. 如何配置神经网络中的层数和节点数
  4. 一年级abb式词语并造句_ABB式词语如何活学活用,家长都收藏了!
  5. Oracle基础查询
  6. stm32f10x 安装包_Keil5 Pack Installer下载_Keil5 Pack 离线安装包下载 2.2.0 官方正式版_当载软件站...
  7. jquery 时间选择插件-jedate
  8. SQL Server数据库被置疑的解决方案
  9. 文件传阅系统无纸化文件流转系统
  10. openproject_OpenProject入门
  11. chrome浏览器使用
  12. Cadence PSpice 仿真1: 三极管传输特性曲线直流仿真图文教程
  13. WEB安全之文件上传--白名单绕过%00截断
  14. nginx 模糊匹配location写法
  15. 高价iPhone陷低谷 苹果又推2799元的HomePod 你买吗?
  16. C语言学习笔记(C程序设计-谭浩强)
  17. 盘点美国最出人意料的20种高薪职业
  18. 苹果手机如何关闭自动续费_微信支付宝一键关闭自动续费
  19. (转载)Go语言最全学习路线(2022)---一站式Go学习引导!!!
  20. 一个关于windows服务管理的工具的源码

热门文章

  1. <Safari浏览器插件>使json代码能格式化显示
  2. ASC19 初赛要求自翻译
  3. CESM优化——Intel编译器编译安装NetCDF库(C+Fortran)
  4. 对大众点评网会员制的一点分析
  5. 华南理工大学计算机学院创新班,高校纷推创新班揽生源 逐步淘汰冷门专业
  6. 平板触屏笔什么比较好?实用平板电脑手写电容笔推荐
  7. 数据开发常用的几种数据预处理和数据整理方法
  8. 上海电力大学计算机专业考研好考么,上海电力大学(专业学位)计算机技术考研难吗...
  9. 泰坦尼克号数据_泰坦尼克号数据可视化分析
  10. REDO和UNDO详解