在按部门编号对数据进行分组后,我陷入困境。我所遵循的步骤
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。
答案 0 :(得分:1)
分组后使用聚合函数。
cast
要获取每个部门的名称,eno和max sal,请对记录进行排序并获取最上一行
C = FOREACH B GENERATE group,MAX(A.sal),MIN(A.sal),AVG(A.sal),SUM(A.sal);
DUMP C;