我有一些我想绘制的数据,但是聚合参数取决于用户。数据是这样的-
Date Country Browser Count
---- ------- ------- -----
2015-07-11,US,Chrome,18
2015-07-11,US,Opera Mini,10
2015-07-11,US,Firefox,21
2015-07-11,US,IE,11
2015-07-11,US,Safari,8
...
2015-07-11,UK,Chrome,102
2015-07-11,UK,IE,45
2015-07-11,UK,Mobile Safari,47
2015-07-11,UK,Firefox,40
...
2015-07-11,DE,Android browser,50
2015-07-11,DE,Chrome,3
2015-07-11,DE,IE,11
2015-07-11,DE,Firefox,20
用户将告诉我按哪个国家或浏览器进行聚合,我希望显示计数。例如,按国家分组(按浏览器聚合),它将是-
2015-07-11,US,ALL,68
2015-07-11,UK,ALL,234
2015-07-11,DE,ALL,84
而按浏览器分组(按国家汇总)可能是-
2015-07-11,ALL,IE,67
2015-07-11,ALL,Chrome,123
2015-07-11,ALL,Firefox,81
我需要根据每一列分别编写脚本吗?还是有更有效的方法?
1条答案
按热度按时间bqucvtff1#
最好编写一个宏,将别名和字段名“country”、“browser”传递给该宏。聚合逻辑保持不变。
裁判:http://pig.apache.org/docs/r0.10.0/cont.html#macros
例子:
Pig脚本:
用法:
将所需的字段名传递给宏。