У меня есть набор записей, которые я загружаю из файла, и первое, что мне нужно сделать, это получить максимум и минимум столбца.
В 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);
Это не сработало. Мне посчастливилось добавить дополнительный столбец с одинаковым значением в каждую строку, а затем сгруппировать их по этому столбцу. Затем получите максимум в этой новой группе. Кажется, это извилистый способ получить то, что я хочу, поэтому я подумал, что могу спросить, знает ли кто-нибудь более простой способ.
Заранее спасибо за помощь.