8
我有一组记录,我从一个文件中加载,我需要做的第一件事是获取列的最大值和最小值。 在SQL我会这样子查询做到这一点:PIG中整套记录的最大值/最小值
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
我认为必须有一个简单的方法来做到这一点猪很好,但我无法找到它。它有一个最大和最小的功能,但是当我试着做以下没有工作:
records=LOAD '/Users/Winter/School/st_incm.txt' AS (state:chararray, population:int);
with_max = FOREACH records GENERATE state, population, MAX(population);
这没有奏效。我有更好的运气为每行添加一个具有相同值的额外列,然后将它们分组到这一列。然后获得新组的最大值。这似乎是一种让我想要得到的令人费解的方式,所以我想我会问有没有人知道更简单的方法。
在此先感谢您的帮助。
谢谢 - 我知道必须有一个简单的方法来做到这一点。 – Winter 2011-03-10 23:56:22