Hive _函数(系统内置函数、自定义函数、自定义UDF函数)
函数
系统内置函数
1.查看系统自带的函数
show functuions;
2.显示自带的函数的用法
desc function month;
3.详细显示自带的函数的用法
desc function extended month;
自定义函数
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 explore()
4)官方文档地址
https://cwiki.apache.org/confluence/display/Hive/HivePlugins
5)编程步骤:
(1)继承org.apache.hadoop.hive.ql.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;
自定义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中使用自定义的函数strip
hive (default)> select ename, mylower(ename) lowername from emp;
Hive _函数(系统内置函数、自定义函数、自定义UDF函数)相关推荐
- 8.Hive基础—函数—系统内置函数、常用内置函数、自定义函数、自定义UDF函数、自定义UDTF函数
本文目录如下: 第8章 函数 8.1 系统内置函数 8.2 常用内置函数 8.2.1 空字段赋值 8.2.2 CASE WHEN THEN ELSE END 8.2.3 行转列 8.2.4 列转行 8 ...
- hive 解密_hive 中自定义 base64 加密 解密 UDF 函数
一.maven依赖 org.apache.hadoop hadoop-client 2.7.3 org.apache.hive hive-exec 1.2.1 org.apache.maven.plu ...
- Spark编写UDF函数案例
Spark编写UDF函数案例 一.前述 二.UDF函数 需求:将orders表中 order_dow和order_number进行求和 一.前述 SparkSql中自定义函数包括UDF和UDAF UD ...
- Hive函数(内置函数(字符串函数,数学函数,日期函数,集合函数,条件函数,聚合函数,表生成函数)和自定义函数(自定义函数创建流程,临时函数,永久函数)))(四)
Hive函数(内置函数和自定义函数) 一.内置函数 1.字符串函数 (1)ascii (2)base64 (3)concat (4)concat_ws (5)format_number (6)subs ...
- Hive基本操作,DDL操作(创建表,修改表,显示命令),DML操作(Load Insert Select),Hive Join,Hive Shell参数(内置运算符、内置函数)等
1. Hive基本操作 1.1DDL操作 1.1.1 创建表 建表语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_nam ...
- 教程08-微擎系统内置所有函数大全
微擎系统内置了很多共函数.HTTP请求函数.文件和数据操作函数. 1. 系统公共函数 系统全局公共函数全部位于 framework/function/global.func.php 文件内. 1.1 ...
- Hive(11):Hive的函数之内置函数
目录 0. 相关文章链接 1. 查看系统内置函数 2. 空字段赋值 3. CASE WHEN THEN ELSE END 4. 行转列 5. 列转行 6. 窗口函数 7. Rank 0. 相关文章链接 ...
- Hive的基本操作-内置函数
Hive 函数 内置函数 内容较多,见<Hive官方文档> https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ ...
- Hive _偏门常用查询函数(三)附带实例(Rank)
接上两篇博客 Hive _偏门常用查询函数(一)附带实例 https://blog.csdn.net/qq_41946557/article/details/102904642 Hive _偏门常用查 ...
最新文章
- android23 imei 权限,android------关于API 23的权限问题
- 从技术演变的角度看互联网后台架构
- 【HDU - 3746 】Cyclic Nacklace (KMP,最小循环节问题)
- 封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>
- 一不小心就踩坑的fail-fast是个什么鬼?
- 【算法实践】搜狗信息流推荐算法交流.pdf(附下载链接)
- linux5.8启动mysql命令_linux的定时重启的具体命令? 非常感谢。。。
- pyecharts本地文件_pyecharts 模块的简单使用(可视化神器)
- 实现HTML的简单压缩
- 如何用windows7搭建radius服务器
- CPU-Z V1.99 x64 得分
- Android Settings 应用二 获取应用消耗的流量
- 天兔lepus部署文档
- 决策树与XGBOOST
- python|简单实现英文单词大小写转化
- 【seq2seq】深入浅出讲解seq2seq神经网络模型
- 浅谈Spring框架AOP概念
- dotNet MSIL中的一些不常见IL指令
- Python基础教程让小白从入门到精通(一)爬虫分析
- 求伯君—金山电脑公司总裁
热门文章
- CodeForces - 670C Cinema(离散化+排序/map,水题)
- HihoCoder - 1829 Tomb Raider(暴力)
- HDU - 1394 Minimum Inversion Number(树状数组)
- python如何删除代码_Python列表删除的三种方法代码分享
- 2021已去,2022未来
- oracle存储过程多分支怎样写,如何写一个分段提交的存储过程啊
- MySQL主主复制 外键_MySQL 组复制介绍
- JAVA异常处理正常的逻辑_JAVA异常的思考与总结
- 数据结构与算法 | 直接选择排序、双向选择排序
- 网络编程之Socket【Python】