Hive 函数使用
2021/12/19 23:20:49
本文主要是介绍Hive 函数使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
内置函数介绍
- 查看 Hive 所有内置函数
show functions;
- Hive 测试函数的方法
# 通过常量值测试函数的使用 select substr("abcdefg",1,3);
- Hive 的所有函数手册
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Built-inFunctions
常用内置函数
类型转换函数
数学运算函数
- max:聚合函数(针对表所有数据或 group by 分组数据求最大值)
- min:聚合函数(针对表所有数据或 group by 分组数据求最小值)
字符串函数
时间函数
表生成函数
行转列函数:explode()
横向连接函数 lateral view
主要作用是将复合数据打散,转化为结构化数据,以便于做数据分析和统计
集合函数
-
array_contains:判断数组元素是否存在并返回 boolean 值
-
sort_array:返回排序后的数组
-
size:返回集合大小
-
map_keys:返回 Map 所有 key 值组成的数组
-
map_values:返回 Map 所有 value 值组成的数组
条件控制函数
-
case when
语法:
case [expression] when condition1 then result1 when condition2 then result2 ... else result end
-
if
json 解析函数
- json_tuple 函数
注:json_tuple 函数只能解析没有嵌套的 json 格式文件
- get_json_object 函数
注:get_json_object 函数可以解析任意 json 格式文件, 当遇到数组就用 [0,1,2...] 0,1,2是数组对应的元素,遇到jsonObject 直接用 ".key"取出想要获取的 value
row_number() over() 窗口分析函数:分组 TOPN
-
row_number() over() 函数属于分析函数,在做数据分析报表时经常使用
-
rank() over() 函数:与 row_number() over() 函数 功能类似
-
dense_rank() over() 函数:与 row_number() over() 函数 功能类似
sum() over() 窗口分析函数:逐行累加
rows 的条件:
- unbounded:无界限
- preceding:从分区第一行头开始,则为 unbounded。 N: 为相对当前行向前的偏移量
- following :与 preceding 相反,到该分区结束,则为 unbounded。N:为相对当前行向后的偏移量
- current row:顾名思义,当前行,偏移量为 0
OVER() 开窗函数 可以使用的聚合函数 :COUNT、SUM、MIN、MAX、AVG
自定义函数
- 步骤一:写 Java 程序实现函数功能
- 步骤二:将 Java 程序打成 Jar 包上传到 Hive 所在主机上
- 步骤三:使用 Hive 命令将 Jar 包添加到 classpath 中
- 步骤四:使用 Hive 命令创建一个函数关联 Jar 包中的 Java 类
这篇关于Hive 函数使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01后台管理开发学习:新手入门指南
- 2024-11-01后台管理系统开发学习:新手入门教程
- 2024-11-01后台开发学习:从入门到实践的简单教程
- 2024-11-01后台综合解决方案学习:从入门到初级实战教程
- 2024-11-01接口模块封装学习入门教程
- 2024-11-01请求动作封装学习:新手入门教程
- 2024-11-01登录鉴权入门:新手必读指南
- 2024-11-01动态面包屑入门:轻松掌握导航设计技巧
- 2024-11-01动态权限入门:新手必读指南
- 2024-11-01动态主题处理入门:新手必读指南