用于查找每个部门薪水的最大值、最小值、平均值、总和的 Pig 脚本
Pig script to find the max, min,avg,sum of Salary in each department
按部门对数据进行分组后,我遇到了问题 no.The 我遵循的步骤
grunt> A = load '/home/cloudera/naveen1/hive_data/emp_data.txt' using PigStorage(',') as (eno:int,ename:chararray,job:chararray,sal:float,comm:float,dno:int);
grunt> B = group A by don;
grunt> describe B;
B: {group: int,A: {(eno: int,ename: chararray,job: chararray,sal: float,comm: float,dno: int)}}
请告诉我 this.I 之后的步骤,我对嵌套 Foreach 语句的执行有些困惑。
数据包含 eno、ename、sal、job、commisson、deptno,我想提取每个部门的最大 sal 和获得最高薪水的员工。
与最低盐相似。
分组后使用聚合函数。
C = FOREACH B GENERATE group,MAX(A.sal),MIN(A.sal),AVG(A.sal),SUM(A.sal);
DUMP C;
要获取每个部门的姓名、eno 和 max sal,对记录进行排序并获取第一行
C = FOREACH B {
max_sal = ORDER A BY sal DESC;
max_limit = LIMIT max_sal 1;
GENERATE FLATTEN(max_limit);
}
DUMP C;
按部门对数据进行分组后,我遇到了问题 no.The 我遵循的步骤
grunt> A = load '/home/cloudera/naveen1/hive_data/emp_data.txt' using PigStorage(',') as (eno:int,ename:chararray,job:chararray,sal:float,comm:float,dno:int);
grunt> B = group A by don;
grunt> describe B;
B: {group: int,A: {(eno: int,ename: chararray,job: chararray,sal: float,comm: float,dno: int)}}
请告诉我 this.I 之后的步骤,我对嵌套 Foreach 语句的执行有些困惑。
数据包含 eno、ename、sal、job、commisson、deptno,我想提取每个部门的最大 sal 和获得最高薪水的员工。
与最低盐相似。
分组后使用聚合函数。
C = FOREACH B GENERATE group,MAX(A.sal),MIN(A.sal),AVG(A.sal),SUM(A.sal);
DUMP C;
要获取每个部门的姓名、eno 和 max sal,对记录进行排序并获取第一行
C = FOREACH B {
max_sal = ORDER A BY sal DESC;
max_limit = LIMIT max_sal 1;
GENERATE FLATTEN(max_limit);
}
DUMP C;