假设我有一个按照下面的模式布局的大数据集
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代码实现了吗?或者对所用的总时间没有影响?
如果有人确认了我,那么我就可以在集群中用非常大的数据集运行类似的代码
1条答案
按热度按时间1l5u6lss1#
这些解决方案的成本相同。
但是如果
records_grp
在其他地方没有使用,版本2允许您不声明变量,并且您的脚本更短。