Apache pig 用猪分组后如何分类袋组?
我把数据设置为Apache pig 用猪分组后如何分类袋组?,apache-pig,Apache Pig,我把数据设置为 id company 1 a 1 b 2 c 2 a 我编写的代码如下: 记录=加载 grp = GROUP record BY id; newdata = FOREACH grp GENERATE group AS id, COUNT(record) AS counts, BagToTuple(record.company) AS company; 输出如下所示: id count company 1 2 a,b 2
id company
1 a
1 b
2 c
2 a
我编写的代码如下:
记录=加载
grp = GROUP record BY id;
newdata = FOREACH grp GENERATE group AS id,
COUNT(record) AS counts,
BagToTuple(record.company) AS company;
输出如下所示:
id count company
1 2 a,b
2 2 c,a
但我希望公司可以进行分类。例如,我需要a,c作为id 2。使用嵌套的Foreach
newdata = FOREACH grp {
sortedbag = order record by company;
GENERATE group AS id,
COUNT(sortedbag) AS counts,
BagToTuple(sortedbag.company) AS company;
};
其中sortedbag别名包含按公司升序排序的数据。如果要按降序排序,请将语句更改为
sortedbag = order record by company DESC;