Hive开发--Hive--示例(二)
2019-12-19 本文已影响0人
无剑_君
一、员工与部门
- 表
员工表:emp
字段
empno :员工编号
ename :员工姓名
job :职位
mgr :上级
hiredate :入职日期
sal :工资
comm :奖金
deptno :部门编号
create table IF NOT EXISTS emp(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' stored as textfile;
部门表:
字段
deptno :部门编号
dname :部门名称
loc :地址
create table IF NOT EXISTS default.dept(
deptno int,
dname string,
loc string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
- 数据
员工数据:
7499 ALLEN SALESMAN 7698 1981-02-20 1600.0 300.0 30
7521 WARD SALESMAN 7698 1981-02-22 1250.0 500.0 30
7566 JONES MANAGER 7839 1981-04-02 2975.0 0.0 20
7654 MARTIN SALESMAN 7698 1981-09-28 1250.0 1400.0 30
7698 BLAKE MANAGER 7839 1981-05-01 2850.0 0.0 30
7782 CLARK MANAGER 7839 1981-06-09 2450.0 0.0 10
7788 SCOTT ANALYST 7566 1987-07-13 3000.0 0.0 20
7839 KING PRESIDENT NULL 1981-11-07 5000.0 0.0 10
7844 TURNER SALESMAN 7698 1981-09-08 1500.0 0.0 30
7876 ADAMS CLERK 7788 1987-07-13 1100.0 0.0 20
7900 JAMES CLERK 7698 1981-12-03 950.0 0.0 30
7902 FORD ANALYST 7566 1981-12-03 3000.0 0.0 20
7934 MILLER CLERK 7782 1982-01-23 1300.0 0.0 10
部门数据:
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
任务要求:
问题1:求各个部门的总工资
问题2:求各个部门的人数和平均工资
问题3:求每个部门最早进入公司的员工姓名
问题4:求各个城市的员工的总工资
问题5:列出工资比上司高的员工姓名及其工资
问题6:列出工资比公司平均工资要高的员工姓名及其工资
问题7:列出名字以J开头的员工姓名及其所属部门名称
问题8:列出工资最高的头三名员工姓名及其工资
问题9:将全体员工按照总收入(工资+提成)从高到低排列