Apache Pig脚本,用于查找每个部门的最大、最小、平均和工资总额
在按部门编号对数据进行分组后,我陷入了困境。我遵循了以下步骤Apache Pig脚本,用于查找每个部门的最大、最小、平均和工资总额,apache,hadoop,apache-pig,Apache,Hadoop,Apache Pig,在按部门编号对数据进行分组后,我陷入了困境。我遵循了以下步骤 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: {
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)}}
请告诉我这之后的步骤。我对嵌套Foreach语句的执行有点困惑
数据包含eno、ename、sal、job、commisson、deptno和我希望提取每个部门的最大sal以及获得最高工资的员工
与min 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;
@问心无愧实际上我在寻找每个部门的名字,伊诺和马克斯·萨尔