1.为什么要用自定义函数

1.1 hive的内置函数满足不了的业务需求,这时候就需要使用自定义函数

1.2 hive的自定义函数有那些

1.UDF  一对一输出输入(本章使用)

2.UDTF 一对多输出输入

3.UDAF 多对一输出输入

2.函数的实现

结合需求进行介绍讲解

需求 :根据字符输出性别 1为男,2为女,反之则未定义

ID  NAME   AGE SEX
1   张三  10  1
2   李四  20  2
3   王五  38  1
4   赵六  45  2
5   田七  50  1
6   马八  66  2
7   吴九  70  1
8   黄一  40  0
9   黄二  15  1
10  黄三  18  2
11  黄四  52  1
12  黄五  33  0
13  黄六  27  1

2.1 hive中准备好对应的表,下边开始自定义函数第一个案例

2.2 编写程序

2.2.1 打开IDEA 创建MAVEN项目,导入对应的依赖包

 <dependencies><dependency><groupId>org.apache.hive</groupId><artifactId>hive-exec</artifactId><version>3.1.2</version></dependency></dependencies>

2.2.2 编写对应的程序,这里要数以注意的是:继承UDF函数,并且实现 evaluate 方法

2.2.3 将编写好的程序进行打包

2.2.4 将打包好的jar包上传至hdfs,这里是我上传的路径

 hdfs dfs -put ./per-1.0-SNAPSHOT.jar /function/udf

2.2.5 在hive中注册永久udf自定义函数

create function get_sex as 'com.hive.udf.PersonUDF' using jar 'hdfs://hadoop001/function/udf/per-1.0-SNAPSHOT.jar' ;

解析: create function 自定义函数名 as 'java写的类全限定名' using jar 'jar包在hdfs上的绝对路径'

3.测试函数

可以看到,在使用自定义函数后,它的输出和我们上边写的java程序逻辑吻合,则说明我们的思路是对的。

3.1 自定义函数的基本操作

删除函数

 drop function 函数名;

创建临时函数

create temporary function 函数名 as '类全限定名';

模糊查询

show function like '*函数字段*';

4.可能会涉及的报错

4.1 比如创建函数的时候出现连接失败,这时候不要慌,一般来说重启虚拟机就可以解决

Hive 自定义函数UDF入门相关推荐

  1. hive自定义函数UDF的使用方法

    虽然Hive已经提供了很多内置的函数,比如count().sum(),但是还是不能满足用户的需求,因此提供了自定义函数供用户自己开发函数来满足自己的需求.本实例通过编写自己的UDF,实现通过一个人的出 ...

  2. Hive自定义函数UDF、UDAF、UDTF

    0.依赖 <dependencies><!--添加hive依赖--><dependency><groupId>org.apache.hive</g ...

  3. Hive内置运算函数,自定义函数(UDF)和Transform

    4.Hive函数 4.1 内置运算符 内容较多,见<Hive官方文档>   4.2 内置函数 内容较多,见<Hive官方文档> https://cwiki.apache.org ...

  4. hive 元数据 自定义_如何在Hive中创建自定义函数UDF及如何直接通过Impala的同步元数据重用UDF的jar文件-阿里云开发者社区...

    如何在Hive中创建自定义函数UDF及使用 如何在Impala中使用Hive的自定义函数 UDF函数开发 使用Intellij工具开发Hive的UDF函数,进行编译: 1.使用Intellij工具通过 ...

  5. Hive自定义函数入门实例

    概念 UDF函数一共分为三种类型: ​ UDF-一进一出,给定一个参数,输出一个处理后的数据 ​UDAF-多进一出,属于聚合函数,类似于count.sum等函数 ​UDTF-一进多出,属于一个参数,返 ...

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

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

  7. 2021年大数据Hive(八):Hive自定义函数

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive自定义函数 一.概述 1.UDF(User-Define ...

  8. Hive 史上最全面的大数据学习第九篇(五) Hive 自定义函数 每一天都是美好的一天!

    Hive概述 & 安装方式详解 Hive表操作 Hive表分类 Hive Sql 操作 Hive 自定义函数 Hive On HBase 六.Hive 自定义函数 在Hive当中又系统自带的函 ...

  9. hive自定义函数-身份证号合法性判断

    hive自定义函数-身份证号合法性判断 简要 代码 简要 身份证号合法性判断: 若为18位身份证号: 1.第18位数字,应该在身份证号最后一位校验位数字中 2.前17为数字分别乘以对应的加权因子,累加 ...

最新文章

  1. 12.1 Bootstrap介绍
  2. 会话(session)
  3. 设置easyui input默认值
  4. python开发最受欢迎的十款工具
  5. Java中,异常处理try catch的作用域是局部的
  6. Jade linux 位置,jade 6.5 安装教程
  7. VS2003添加.BMP资源
  8. go-redis 读和存储json数组
  9. Linux性能优化——如何测试网络延迟
  10. gateway集成swagger
  11. JSP常用内置对象及抽奖功能
  12. 关于hadoop运行成功但是无法链接web页面
  13. Dijkstra(迪杰斯特拉)算法求单源最短路径问题
  14. 量化分析入门5:列表和收盘价的移动平均的示例
  15. 用Python自动计算Excel排班表的工时
  16. 解决windows10 ping不通问题(请求超时)
  17. win10 安装oracle11g完整教程
  18. 2013年最具技术影响力原创图书TOP10
  19. 在微软Azure的服务器上创建Windows虚拟机的教程
  20. z-libirary登录入口_z-libirary在线检测可用检测

热门文章

  1. POI之SXSSFWorkbook大量数据导出至excel有关内存溢出
  2. White Noise 白噪音:帮你提高工作注意力的 Chrome 扩展
  3. 为什么全世界都要鼓励青少儿学习编程?
  4. java时间减一秒钟_科学家将量子计算机变成一台时光机-至少要花一秒钟的时间...
  5. linux安装nignx
  6. 虚拟桌面网络设置技巧
  7. python漫画滤镜怎么实现的_基于Python实现的ComicReaper漫画自动爬取脚本
  8. 【EUI】乐视2 游戏开发版 卡片后台 调温控舒适度 xposed黑阈 游戏内核
  9. 怎么看协议属于哪一层?
  10. java 进程 突然死掉_一次 java 进程猝死的原因分析