请考虑这个猪脚本的例子..
我有一个小数据集,如下所示..名为
001,拉吉夫,雷迪21,9848022337,海得拉巴,89 002,siddarth,Battacharya,22,9848022338,加尔各答,78 003,拉杰什,卡纳,22,9848022339,德里,90 004,Preethi,瓦尔,21,9848022330,普纳,93 005,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar,75 006,阿奇纳,米什拉,23,9848022335,奈,87 007,科莫尔,纳亚克24,9848022334,trivendram,83 008,Bharathi,Nambiayar,24,9848022333,Chennai,72
想法是计算学生平均成绩GPA。
通过运行以下命令获得解决方案
student_details = LOAD' /home/edureka/praveen/files/student_details.txt'使用PigStorage(',')as(id:int,firstname:chararray,lastname:chararray,age:int,phone:chararray,city:chararray,gpa:int);
student_group_all =分组student_details全部;
student_gpa_avg = foreach student_group_all生成(student_details.firstname,student_details.gpa),AVG(student_details.gpa);
我的问题是,为什么我需要将ALL分组以找到平均值...如果有一个简单的平均函数,我可以直接在student_details上运行。请帮助,因为我的常识是折腾..可能是我使用太多了!!
答案 0 :(得分:1)
如果你谷歌“聚合功能”,会出现以下定义 -
在数据库管理中,聚合函数是一种函数,其中多行的值被组合在一起作为某些条件的输入,以形成更重要的意义或度量的单个值,例如集合,包或列表。常用的聚合函数包括:Average()(即算术平均值)Count()。
希望这有点放松你的常识:)。