Hive查询之系统内置函数

本文详细介绍了Hive的系统内置函数,包括空字段赋值的NVL函数,CASE WHEN THEN ELSE END条件判断,行转列与列转行的方法,窗口函数的应用,如LAG、LEAD等,以及Rank函数的使用。通过实例演示了如何在Hive中进行数据处理,如空值替换、条件统计、数据转换和时间序列分析等。
摘要由CSDN通过智能技术生成

Hive之系统内置函数

1 系统内置函数

1)查看系统自带的函数

hive (default)> desc function upper; show functions;

Time taken: 0.025 seconds, Fetched: 289 row(s)

2)显示自带的函数的用法

hive (default)> desc function upper;
OK
tab_name
upper(str) - Returns str with all characters changed to uppercase
Time taken: 0.019 seconds, Fetched: 1 row(s)

3)详细显示自带的函数的用法

hive (default)> desc function extended upper;
OK
tab_name
upper(str) - Returns str with all characters changed to uppercase
Synonyms: ucase
Example:
  > SELECT upper('Facebook') FROM src LIMIT 1;
  'FACEBOOK'
Function class:org.apache.hadoop.hive.ql.udf.generic.GenericUDFUpper
Function type:BUILTIN
Time taken: 0.442 seconds, Fetched: 7 row(s)

2 常用内置函数

2.1 空字段赋值

1)函数说明

​ NVL:给值为NULL的数据赋值,它的格式是NVL( value,default_value)。它的功能是如果value为

NULL,则NVL函数返回default_value的值,否则返回value的值,如果两个参数都为NULL ,则返回

NULL。

2)数据准备:采用员工表

3)查询:如果员工的comm为NULL,则用-1代替

hive (default)> select comm,nvl(comm,-1) from emp;
OK
comm	_c1
NULL	-1.0
300.0	300.0
500.0	500.0
NULL	-1.0
1400.0	1400.0
NULL	-1.0
NULL	-1.0
NULL	-1.0
NULL	-1.0
0.0	0.0
NULL	-1.0
NULL	-1.0
NULL	-1.0
NULL	-1.0
Time taken: 1.78 seconds, Fetched: 14 row(s)

4)查询:如果员工的comm为NULL,则用领导id代替

hive (default)> select comm, nvl(comm,mgr) from emp;
OK
comm	_c1
NULL	7902.0
300.0	300.0
500.0	500.0
NULL	7839.0
1400.0	1400.0
NULL	7839.0
NULL	7839.0
NULL	7566.0
NULL	NULL
0.0	0.0
NULL	7788.0
NULL	7698.0
NULL	7566.0
NULL	7782.0
Time taken: 0.148 seconds, Fetched: 14 row(s)

2.2 CASE WHEN THEN ELSE END

1)数据准备

name dept_id sex
悟空 A
大海 A
宋宋 B
凤姐 A
婷姐 B
婷婷 B

2)需求

求出不同部门男女各多少人。结果如下:

dept_Id     男       女
A     		2       1
B     		1       2

3)创建本地emp_sex.txt,导入数据


                
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值