Hive函数
来源:互联网 发布:创业怎么找投资人 知乎 编辑:程序博客网 时间:2024/05/22 23:27
Hive函数分为简单函数、窗口函数、分析混合函数、自定义函数(UDF/UDAF)等
本文主要介绍简单函数和分析混合函数
查看Hive中函数基本命令
show functions ----列出所有函数desc function count ----查看count函数的用法desc function extended count ---查看详细用法,并且会举出一个简单例子
简单函数
1.if函数hive> select if(1=2,"true","false"); ----如果第一个参数成立,返回第二个参数,否则返回第三个参数false
2.coalesce函数
hive> select coalesce(null,1,'hello',null); -----返回参数列表中第一个不为空的值,参数列表可以有多个1
语法:case when a then b [when c then d]* [else e] end
判断a表达式若成立,执行b,若不成立判断c,c成立返回d,否则返回e。c部分可以有多个也可以一个都没有
hive> select case when 1=2 then 'true' when 1>0 then 'yes' else 'no' end ;yes hive> select case when 1=2 then 'true' else 'false' endfalsehive> select case when 1=2 then 'true' endNULL ---因为1不等于2,语句中没显示指定返回的值,所以系统返回NULL4.concat_ws
hive> select concat_ws('.','www','baidu','com');www.baidu.com ---拼接函数,将参数列表后几个参数用第一个参数拼接起来
5.parse_url
hive> select parse_url('http://facebook.com/path/p1.php?query=1', 'HOST') ;facebook.comhive> select parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY') ;query=1hive> select parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY','query') ;1类似的参数还有PATH、PROTOCOL、FILE等,可通过desc function extended parse_url
hive> select get_json_object('{"name":"jack"}','$.name');jack-----第一个参数是传入的json字符串,第二个是需要指定获取的json的key
7.collect_set和collect_list用法可见另外一片博文Hive的Collect函数
混合函数
Hive中也可以直接调用Java中的方法,一般可借助java_method函数或reflect函数
hive> select java_method("java.lang.Math","sqrt",cast(4 as double));2.0hive> select java_method("java.util.UUID","randomUUID");45bd610f-5020-4b46-80a2-22044e908dcehive> select reflect("java.lang.Object","toString");java.lang.Object@78a981a1
0 0
- #HIVE#hive函数参考手册
- hive - Hive函数大全
- hive函数
- Hive函数
- hive 函数
- Hive-函数
- hive函数
- HIVE函数
- Hive函数
- hive函数
- Hive函数
- Hive函数
- hive函数
- hive 函数
- hive 函数
- hive 函数
- hive函数
- Hive(十二)--Hive函数大全
- ubuntu下安装beyond compare
- 记录学习的点滴(Js 数组)
- JAVA第4天学习:运算符、表达式、分支语句的理解与学习
- 项目3 - 体验复杂度
- Android知识架构 · 电话面试 · View的绘制流程
- Hive函数
- 欢迎使用CSDN-markdown编辑器
- Java链表指针确实好烦 - 交换链表中连续的两个节点的位置
- [Linux驱动入门]中断处理
- MapReduce源码解析之InputFormat(二)
- 2017招商银行笔试01
- 如何用C++自带函数实现快速排序
- 新装mvn建第一个项目报错org.apache.maven.plugins:maven-resources-plugin:2.6
- Python学习1-12