use*_*165 4 database hadoop apache-pig
我想返回一组的前5行.基本上我有一个表,其中包含一些州名和他们的城市,按州名分组.我希望拥有该州的前5个城市而不是所有城市.
我怎么能用猪做这个?先感谢您.
Don*_*ner 11
在... 之后GROUP BY
,FOREACH
你可以先做一个ORDER BY
,然后LIMIT
.这将首先按城市规模对每个组中的事物进行排序,然后拉出前5个.
B = GROUP A BY state;
C = FOREACH B {
DA = ORDER A BY citysize DESC;
DB = LIMIT DA 5;
GENERATE FLATTEN(group), FLATTEN(DB.citysize), FLATTEN(DB.cityname);
}
Run Code Online (Sandbox Code Playgroud)