数据准备
name |
dept_id |
sex |
悟空 |
A |
男 |
大海 |
A |
男 |
宋宋 |
B |
男 |
凤姐 |
A |
女 |
婷姐 |
B |
女 |
婷婷 |
B |
女 |
需求
求出不同部门男女各多少人。结果如下:
A 2 1 B 1 2
创建本地emp_sex.txt,导入数据
[atguigu@hadoop102 datas]$ vi emp_sex.txt
悟空 A 男
大海 A 男
宋宋 B 男
凤姐 A 女
婷姐 B 女
婷婷 B 女
创建hive表并导入数据
create table emp_sex( name string, dept_id string, sex string) row format delimited fields terminated by " "; load data local inpath '/opt/module/datas/emp_sex.txt' into table emp_sex;
按需求查询数据
select dept_id sum(case sex when sex='男' then 1 else 0 end) man_count sum(case sex when sex='女' then 1 else 0 end) women_count from emp_sex group by dept_id;