我们可以通过相关的命令来获取某个函数的用法:
- show functions; #查询所有的自带函数
- desc function extended case; #获得例子+用法
- desc function case; #获得函数的用法
Hive常用函数之条件函数
1、判空函数NVL:
nvl(value,default_value)如果value为null,则返回default_value的值,否则返回value
举例: 如果员工奖金为null,用0表示。
hive> select comm,nvl(comm,0) from emp;
注:sal float(8)not null, ----工资;comm float(8)not null,----奖金
2、条件函数case when:
举例:部门下所有的员工的总数,区分性别,所以我们需要一种方式,当检查到sex为男的时候,记录一下man变量为
1,当检查到sex为女的时候对women 加1
select dept_id,sum(case sex when '男' then 1 else 0 end) male_count,
sum(case sex when '女' then 1 else 0 end) female_count
from emp_sex group by dept_id;