系统自带的函数

1)查看系统自带的函数hive> show functions;
2)显示自带的函数的用法hive> desc function upper;
3)详细显示自带的函数的用法hive> desc function extended upper;

自定义函数

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

自定义函数的类别:

(1)UDF(User-Defined-Function)一进一出,接受一个参数,返回一个结果
(2)UDAF(User-Defined Aggregation Function):聚集函数,多进一出;类似于:count/max/min
(3)UDTF(User-Defined Table-Generating Functions):一进多出;如 lateral view explore()

自定义函数的步骤:

(1)继承 org.apache.hadoop.hive.ql.UDF
(2)需要实现 evaluate 函数;evaluate 函数支持重载;
(3)在 hive 的命令行窗口创建函数
a)添加 jaradd jar linux_jar_path
b)创建 function,create [temporary] function [dbname.]function_name AS class_name;

注意

UDF必须要有返回类型,可以返回null,但是不能是void

案例:

1)创建一个 java 工程,并创建一个 lib 文件夹
2)将 hive 的 jar 包解压后,将 apache-hive-1.2.1-bin\lib 文件下的 jar 包都拷贝到 java 工程中。
3)创建一个类public class Lower extends UDF {public String evaluate (final String s) {if (s == null) {return null;}return s.toString().toLowerCase();}
}4)打成 jar 包上传到服务器/opt/module/jars/udf.jar
5)将 jar 包添加到 hive 的 classpathhive (default)> add jar /opt/module/datas/udf.jar;
6)创建临时函数与开发好的 java class 关联hive (default)> create temporary function my_lower as "com.atguigu.hive.Lower";
7)即可在 hql 中使用自定义的函数 striphive (default)> select ename, my_lower(ename) lowername from emp;

本博客仅为博主学习总结,感谢各大网络平台的资料。蟹蟹!!

转载于:https://www.cnblogs.com/upuptop/p/11154300.html

Hive之函数与自定义函数相关推荐

  1. Hive 内置函数及自定义函数

    1.内置函数 使用如下命令查看当前hive版本支持的所有内置函数 show functions; 部分截图: 可以使用如下命令查看某个函数的使用方法及作用,比如查看 upper函数 desc func ...

  2. hive 转拼音udf_<Zhuuu_ZZ>HIVE(十二)UDF自定义函数

    <Zhuuu_ZZ>HIVE(十二)UDF自定义函数 <Zhuuu_ZZ>HIVE(十二)UDF自定义函数 Hive UDF开发流程 一 创建Maven工程 二 导入依赖Jar ...

  3. Hive函数(内置函数(字符串函数,数学函数,日期函数,集合函数,条件函数,聚合函数,表生成函数)和自定义函数(自定义函数创建流程,临时函数,永久函数)))(四)

    Hive函数(内置函数和自定义函数) 一.内置函数 1.字符串函数 (1)ascii (2)base64 (3)concat (4)concat_ws (5)format_number (6)subs ...

  4. Spark 2.2.1 + Hive 案例之不使用现有的Hive环境;使用现有的Hive数据仓库;UDF自定义函数

    Spark 2.2.1 + Hive 案例之不使用现有的Hive环境:使用现有的Hive数据仓库:UDF自定义函数 Spark SQL支持读写存储在Apache Hive中的数据.在Spark 2.2 ...

  5. 在python中使用关键字define定义函数_python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法:def 函数名(参数1,参数2,参数-): ...

  6. pandas编写自定义函数、使用apply函数应用自定义函数基于Series数据生成新的dataframe

    pandas编写自定义函数.使用apply函数应用自定义函数基于Series数据生成新的dataframe 目录 pandas编写自定义函数.使用apply函

  7. 自定义_Excel中的自定义函数(自定义函数的基础内容)

    各位朋友,你们好. 最近和网友沟通交流Excel问题,好些问题都没法直接实现,因此用了很多自定义函数,也给头条里的朋友写过几个自定义函数(比如颜色计算的函数.提取不重复内容的函数.汉字转拼音的函数-- ...

  8. C语言-函数(自定义函数)

    C语言中函数的分类: 1 库函数 2 自定义函数 自定义函数 如果库函数能干所有的事情,那还要程序员做什么? 所以更重要的是自定义函数 函数的组成: ret_type    fun_name (par ...

  9. excel中DATE(year,month,day)函数——oracle自定义函数

    @oracle自定义函数写excel中DATE函数 oracle自定义函数写excel中DATE函数 EXCEL中DATE函数逻辑为DATE(year,month,day) 含义:DATE(年,月,日 ...

  10. 一文弄懂python中的函数(自定义函数,匿名函数,高阶函数与解析式)

    什么是函数,如何在 Python 程序中定义函数呢? 说白了,函数就是为了实现某一功能的代码段,只要写好以后,就可以重复利用. python中的自定义函数 Python 的函数具有非常灵活多样的参数形 ...

最新文章

  1. 1小时教你做360度全景“小星球”效果图 Skillshare – Create a Panoramic ‘Little Planet’ from Anywhere
  2. 计算程序运行时间(.net1.1 于.net2.0的区别)在.net2.0中提供了Stopwatch类,简单例子...
  3. php 获取鼠标的坐标,如何实时获取鼠标的当前坐标-
  4. R语言实战应用精讲50篇(十八)-R语言实现分词、词频与词云案例解析
  5. crackme 逆向寒假生涯(22/100)
  6. Matlab的数组的小知识和方法
  7. activity-启动动画的设定(下面弹出出现,弹入下面消失)
  8. SpringBoot—数据库初始化脚本配置
  9. 助老打车暖心车站落地杭州 帮助老年人扫码一键叫车
  10. Pandas 对象储存
  11. Java实现文件上传到服务器(FTP方式)
  12. 【Leetcode】数学题(Python)
  13. ssh修改端口号_如何查找和更改SSH端口号?
  14. 扫雷可以用计算机,windows扫雷
  15. 拉格朗日乘数法,一种计算条件极值的方式
  16. vue+ele 使用及demo
  17. 百度蜘蛛IP大全,更新于2020年7月3日
  18. Redis数据结构-字符串对象(SDS)
  19. matlab三维投影图,matlab三维图投影轮廓
  20. Ubuntu16.04安装LSD-SLAM

热门文章

  1. 进程间通信——Queue
  2. ASP.NET企业开发框架IsLine FrameWork系列之七--AppLogProvider日志框架(上)
  3. jquery出现“为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件。请单击这里获取选项...”的解决办法
  4. Invoke and BeginInvoke BeginInvoke和EndInvoke方法 (转)3
  5. 《Attention Is All You Need》
  6. leetcode - 62. 不同路径
  7. tensorflow 十四 强化学习Q-learning
  8. CvMat与LIplmage之间的相互转换__cvConvert()
  9. Golang笔记——channel(管道)
  10. django连接MySQL报错Did you install mysqlclient?