您的位置:首页 > 其它

MapReduce案例学习开篇

2015-09-20 15:37 204 查看
案例学习背景:客户资源有两张表,一个用户表,一个部门信息表,分别如下:

SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- -------------- ---------- ---------- ----------

7369 SMITH CLERK 7902 17-12月-80 800 20

7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30

7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30

7566 JONES MANAGER 7839 02-4月 -81 2975 20

7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30

7698 BLAKE MANAGER 7839 01-5月 -81 2850 30

7782 CLARK MANAGER 7839 09-6月 -81 2450 10

7839 KING PRESIDENT 17-11月-81 5000 10

7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30

7900 JAMES CLERK 7698 03-12月-81 950 30

7902 FORD ANALYST 7566 03-12月-81 3000 20

7934 MILLER CLERK 7782 23-1月 -82 1300 10

SQL> select * from dept;

DEPTNO DNAME LOC

---------- -------------- -------------

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

使用mapreduce处理以下几个问题:

1) 求各个部门的总工资;

2) 求各个部门的人数和平均工资;

3) 求每个部门最早进入公司的员工姓名;

4) 求各个城市的员工的总工资;

5) 列出工资比上司高的员工姓名及其工资;

6) 列出工资比公司平均工资要高的员工姓名及其工资;

7) 列出名字以J开头的员工姓名及其所属部门名称;

8) 列出工资最高的头三名员工姓名及其工资;

9) 将全体员工按照总收入(工资+提成)从高到低排列,要求列出姓名及其总收入。

预处理,将需要处理的数据导出成文件,并使用制表符进行分割。导出的数据文件为emp,该文件内容形如:

empno ename
job mgr
hiredate sal
comm deptno

7369 SMITH
CLERK 7902
1980-12-17 800
20

7499 ALLEN
SALESMAN 7698
1981-02-20 1600
300 30

7521 WARD
SALESMAN 7698
1981-02-22 1250
500 30

7566 JONES
MANAGER 7839
1981-04-02 2975
20

7654 MARTIN
SALESMAN 7698
1981-09-28 1250
1400 30

7698 BLAKE
MANAGER 7839
1981-05-01 2850
30

7782 CLARK
MANAGER 7839
1981-06-09 2450
10

7839 KING
PRESIDENT 1981-11-17
5000 10

7844 TURNER
SALESMAN 7698
1981-09-08 1500
0 30

7900 JAMES
CLERK 7698
1981-12-03 950
30

7902 FORD
ANALYST 7566
1981-12-03 3000
20

7934 MILLER
CLERK 7782
1982-01-23 1300
10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: