hadoop猪返回前5行

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)