Hive条件函数

一 条件函数
1、coalesce:从左到右返回地一个不为null的值。
2、case...when...:条件表达式
CASE a WHEN b THEN c
WHEN d THEN e
ELSE f
END

二 实战
1、coalesce应用
2、给员工涨工资,总裁涨1000,经理涨800,其他涨400
hive> select ename,empjob,sal,case empjob when 'PRESIDENT' then sal+1000 when 'MANAGER' then sal+800 else sal+400 end from emp;
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201709011948_0003, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201709011948_0003
Kill Command = /opt/hadoop-1.2.1/libexec/../bin/hadoop job  -kill job_201709011948_0003
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2017-09-01 20:38:32,027 Stage-1 map = 0%,  reduce = 0%
2017-09-01 20:38:52,814 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 4.22 sec
2017-09-01 20:39:00,968 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 4.22 sec
MapReduce Total cumulative CPU time: 4 seconds 220 msec
Ended Job = job_201709011948_0003
MapReduce Jobs Launched: 
Job 0: Map: 1   Cumulative CPU: 4.22 sec   HDFS Read: 635 HDFS Write: 440 SUCCESS
Total MapReduce CPU Time Spent: 4 seconds 220 msec
OK
Tome	null	5000.0	5400.0
Tome	null	5000.0	5400.0
SMITH	CLERK	4800.0	5200.0
ALLEN	SALESMAN	5600.0	6000.0
WARD	SALESMAN	5250.0	5650.0
JONES	MANAGER	9075.0	9875.0
MARTIN	SALESMAN	5250.0	5650.0
BLAKE	MANAGER	8850.0	9650.0
CLARK	MANAGER	8450.0	9250.0
SCOTT	ANALYST	7000.0	7400.0
KING	PRESIDENT	12111.0	13111.0
TURNER	SALESMAN	5500.0	5900.0
ADAMS	CLERK	5100.0	5500.0
JAMES	CLERK	4950.0	5350.0
FORD	ANALYST	7000.0	7400.0
MILLER	CLERK	5300.0	5700.0
Time taken: 61.021 seconds, Fetched: 16 row(s)





评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值