猪 - 获取最大计数

Pig - Get Max Count

示例数据

DATE      WindDirection

1/1/2000  SW
1/2/2000  SW
1/3/2000  SW
1/4/2000  NW
1/5/2000  NW

下面的问题

每一天都是唯一的,风向也不是唯一的,所以现在我们正在尝试获取最常见风向的COUNT

我的查询是

weather_data = FOREACH Weather GENERATE  AS Date,  AS w_direction;
e = FOREACH weather_data 
            {
                unique_winds = DISTINCT weather_data.w_direction;
                GENERATE unique_winds, COUNT(unique_winds);
            }
dump e;

逻辑是找到不同的 WindDirections(大约有 7 个),然后按 WindDirection 分组并应用计数。

现在我想得到风向的总数或计数。

您将必须按风向分组并按降序获得 counts.Order 计数并获得最上面的行。

wd = FOREACH Weather GENERATE  AS w_direction;
gwd = GROUP wd BY w_direction;
cwd = FOREACH gwd GENERATE group as wd,COUNT(wd.[=10=]);
owd = ORDER cwd BY  DESC;
mwd  = LIMIT owd 1;
DUMP mwd;