我有一个表,其中包含国家(chararray)、人口(int)、区域(int)列。我需要找到一个人口较多的国家/地区,其中区域等于 1。我需要控制台上的国家/地区名称和人口。
我在加载后尝试了这些语句。
fl = filter st by zone==1;
grp = group fl by zone;
result = foreach grp generate fl.country,MAX(fl.population);
dump result
Run Code Online (Sandbox Code Playgroud)
它给了我所有的名字和人口。我可以尝试“排序依据”和“限制”,但我只需要使用 MAX 函数。
我试图展平运算符,但它要求我尝试显式强制转换。能否请您验证一下。
我在这里包括示例数据
country,population,zone
india 3000 1
Australia 4000 2
US 5000 1
China 3000 1
Russia 500 1
Run Code Online (Sandbox Code Playgroud) apache-pig ×1