计算所有GPA的总和
为了演示SUM()函数,让我们尝试计算所有员工每天键入的页面总数。我们可以使用Apache Pig的内置函数SUM()(区分大小写)来计算数值的总和。让我们使用“所有分组”运算符将雇员名_data关系分组,并将结果存储在名为employee_group的关系中,如下所示。
grunt> employee_group = Group employee_data all;
它将产生如下所示的关系。
grunt> Dump employee_group;
(all,{(5,Zara,2007-02-06,350),
(5,Zara,2007-06-06,300),
(4,Jill,2007-0406,220),
(3,Jack,2007-04-06,100),
(3,Jack,2007-05-06,170),
(2,Ram,2007-0527,220),
(1,John,2007-01-24,250)})
现在,让我们计算每天输入的页面的总和。
grunt> student_workpages_sum = foreach employee_group Generate
(employee_data.name,employee_data.daily_typing_pages),SUM(employee_data.daily_typing_pages);
验证
如下所示,使用DUMP运算符验证关系Student_workpages_sum。
grunt> Dump student_workpages_sum;
输出
它将产生以下输出,显示如下student_workpages_sum关系的内容。
(({ (Zara), (Zara), (Jill) ,(Jack) , (Jack) , (Ram) , (John) },
{ (350) , (300) , (220) ,(100) , (170) , (220) , (250) }),1610)