Jan 17, 2016

Apache Pig Exercises: 5. List employees in asc order of dept nbr. & desc of job title


In this post the sample Apache Pig script will display all Employee records iin asc order of dept nbr. and desc of job title.

The examples and exercise scripts are created using Apache Pig current version r0.14.0.

@ Test data structure:
Please refer to Apache Pig learning series intro... post for the file structures, visit the reference section shown at the bottom of the post for more. 

@ Sample data:

Employees data table:


Department data table:


@ Apache Pig Script:

List all employee records in asc order of dept nbr. and desc of job title:

grunt> 
data = LOAD '/Documents/tbl_EMP.txt' USING PigStorage(',') as (empno:int, ename:chararray, job:chararray, mgr:int, hiredate:chararray, sal:float, comm:float, deptno:int);
all_recs = foreach data generate empno,ename,job,mgr,hiredate,sal,comm,deptno;
ordr_empdeptjob = order all_recs by deptno asc, job desc;
dump ordr_empdeptjob;

@Apache Pig Output on Grunt Shell: 


(7839,KING,PRESIDENT,,1981-11-17,5000.0,,10)
(7782,CLARK,MANAGER,7839,1981-06-09,2450.0,,10)
(7934,MILLER,CLERK,7782,1982-01-23,1300.0,,10)
(7566,JONES,MANAGER,7839,1981-04-02,2975.0,,20)
(7876,ADAMS,CLERK,7788,1983-01-12,1100.0,,20)
(7369,SMITH,CLERK,7902,1980-12-17,800.0,,20)
(7788,SCOTT,ANALYST,7566,1982-12-09,3000.0,,20)
(7902,FORD,ANALYST,7566,1981-12-03,3000.0,,20)
(7844,TURNER,SALESMAN,7698,1981-09-08,1500.0,0.0,30)
(7654,MARTIN,SALESMAN,7698,1981-09-28,1250.0,1400.0,30)
(7521,WARD,SALESMAN,7698,1981-02-22,1250.0,500.0,30)
(7499,ALLEN,SALESMAN,7698,1981-02-20,1600.0,300.0,30)
(7698,BLAKE,MANAGER,7839,1981-05-01,2850.0,,30)
(7900,JAMES,CLERK,7698,1981-12-03,950.0,,30)


@ Apache Pig Reference/s:
  • https://pig.apache.org
  • http://pig.apache.org/docs/r0.14.0/
_________________
Thank you!

0 comments:

Post a Comment