pig-pig的分组优化

aamkag61  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(351)

假设我有一个按照下面的模式布局的大数据集

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代码运行得快。
我想减少完成这项工作的总时间。。
那么样式2代码实现了吗?或者对所用的总时间没有影响?
如果有人确认了我,那么我就可以在集群中用非常大的数据集运行类似的代码

1l5u6lss

1l5u6lss1#

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

相关问题