Макс. / Мин. Для всех наборов записей в PIG

У меня есть набор записей, которые я загружаю из файла, и первое, что мне нужно сделать, это получить макс и мин столбца. В SQL я бы сделал это с помощью такого подзапроса:

   select c.state, c.population, 
(select max(c.population) from state_info c) as max_pop, 
(select min(c.population) from state_info c) as min_pop
from state_info c

Я предполагаю, что должен быть простой способ сделать это и в PIG, но мне трудно его найти. У него есть функции MAX и MIN, но когда я попытался сделать следующее, это не сработало:

records=LOAD '/Users/Winter/School/st_incm.txt'  AS (state:chararray, population:int);
with_max = FOREACH records GENERATE state, population, MAX(population);

Это не сработало. Мне больше повезло, если я добавил дополнительный столбец с тем же значением в каждую строку, а затем сгруппировал их по этому столбцу. Затем получить максимум в этой новой группе. Это кажется запутанным способом получить то, что я хочу, поэтому я подумал, что спрошу, знает ли кто-нибудь более простой способ.

Заранее спасибо за помощь.

8
задан Winter 7 March 2011 в 18:17
поделиться