分组依据上的猪优化

Pig Optimization on Group by

假设我有一个大型数据集,符合以下架构布局

id,name,city
---------------
100,Ajay,Chennai
101,John,Bangalore
102,Zach,Chennai
103,Deep,Bangalore
....
...

我有两种 pig 代码风格,输出相同。

样式 1:

records = load 'user/inputfiles/records.txt' Using PigStorage(',') as (id:int,name:chararray,city:chararray);
records_grp = group records by city;
records_each = foreach records_grp generate group as city,COUNT(records.id) as emp_cnt;
dump records_each;

样式 2:

records = load 'user/inputfiles/records.txt' Using PigStorage(',') as (id:int,name:chararray,city:chararray);
records_each = foreach (group records by city) generate group as city,COUNT(records.id) as emp_cnt;
dump records_each ;

在第二种样式中,我使用了嵌套的 Foreach。样式 2 代码 运行 是否比样式 1 代码更快。

我想减少完成 Pig 工作所花费的总时间..

所以样式 2 代码实现了这一点?或者对总耗时没有影响?

如果有人证实我的话,那么我可以 运行 在我的集群中使用非常大的数据集

类似的代码

解决方案的成本相同。

但是,如果 records_grp 没有在其他地方使用,版本 2 允许您不声明变量并且您的脚本更短。