MapReduce案例学习开篇

来源:互联网 发布:推荐c 语言在线编译 编辑:程序博客网 时间:2024/06/05 19:22

案例学习背景:客户资源有两张表,一个用户表,一个部门信息表,分别如下:

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 enamejob mgrhiredate salcomm deptno          
7369 SMITH CLERK 7902 1980-12-17 80020
7499 ALLEN SALESMAN 7698 1981-02-20 1600300 30
7521 WARD SALESMAN 7698 1981-02-22 1250500 30
7566 JONES MANAGER 7839 1981-04-02 297520
7654 MARTIN SALESMAN 7698 1981-09-28 12501400 30
7698 BLAKE MANAGER 7839 1981-05-01 285030
7782 CLARK MANAGER 7839 1981-06-09 245010
7839 KING PRESIDENT 1981-11-175000 10
7844 TURNER SALESMAN 7698 1981-09-08 15000 30
7900 JAMES CLERK 7698 1981-12-03 95030
7902 FORD ANALYST 7566 1981-12-03 300020
7934 MILLER CLERK 7782 1982-01-23 130010

0 0