У меня есть сумка, содержащая кортежи с именем игрока, gameName, оценка. Я сначала ГРУППА над сумкой BY игры и положил ее в другую сумку. Теперь я хочу кортежи с самым высоким счетом для каждой игры в другой сумке. Как я должен это делать?Apache Pig GROUP BY, ORDER BY
-1
A
ответ
1
Вход:
jon,mario,2345
joe,minesweeper,234
peter,mario,112
lisa,minesweeper,900
Pig Сценарий:
game_data = LOAD 'game_data.csv' USING PigStorage(',') AS (player:chararray, game:chararray, score:long);
game_data_grp_by_game = GROUP game_data BY game;
game_kpis = FOREACH game_data_grp_by_game {
ord_game_data_by_score = ORDER game_data BY score DESC;
max_score_record = LIMIT ord_game_data_by_score 1;
GENERATE group AS game, FLATTEN(max_score_record.player) AS player_name, FLATTEN(max_score_record.score) AS score;
};
Выход: DUMP game_kpis:
(mario,jon,2345)
(minesweeper,lisa,900)
+0
, почему в этом случае используется FLATTEN? –
+0
@MeetuAgarwal: max_score_record.player & max_score_record.score - это сумки, которые нам нужны для FLATTEN, чтобы получить рекордное значение. Попробуйте удалить FLATTEN из приведенного выше фрагмента, вы поймете необходимость FLATTEN. –
Смежные вопросы
- 1. Apache PIG - GROUP BY
- 2. Apache Drill: Group by week
- 3. Ошибка Apache Drill GROUP BY
- 4. Сохранение результата PIG «GROUP BY» в HDFS
- 5. Понимание GROUP BY оператора в Pig
- 6. Join and group in by Hadoop Pig
- 7. Условный фильтр в GROUP BY in Pig
- 8. Несколько ORDER by by Desc in pig
- 9. MySQL GROUP BY и SELECT, GROUP BY
- 10. GROUP BY и ORDER BY
- 11. SQL order by, group by,
- 12. SQL ORDER BY GROUP BY
- 13. Иерархическая группа By in Pig
- 14. Spark group by - Преобразование свиней
- 15. BigQuery GROUP BY/GROUP BY КАЖДЫЙ ресурсов превысил ошибку, но запрос не содержит GROUP BY оператора
- 16. MySQL ORDER BY затем GROUP BY
- 17. GROUP BY не соответствует ORDER BY
- 18. Использование WHERE, GROUP BY и ORDER BY
- 19. ORDER BY и GROUP BY вместе?
- 20. SQL ORDER BY total внутри GROUP BY
- 21. Linq Top, Group By and Order By
- 22. Используйте OVER (PARTITION BY) вместо Group By
- 23. Linq group by and order by sum
- 24. SQL ORDER BY до GROUP BY
- 25. Group by/Order by problems MSSQL
- 26. MYSQL GROUP BY/ORDER BY confusion
- 27. GROUP BY изменения ORDER BY сортировка
- 28. Оптимизация GROUP BY & ORDER BY query
- 29. Linq Group by and Order by
- 30. странно MySQL GROUP BY/ORDER BY поведения
Plz разделяют входные данные и экс выведенный для usecase –
@MuraliRao Входной файл имеет кортежи этой формы: jon, mario, 2345 joe, minesweeper, 234 peter, mario, 112 lisa, minesweeper, 900 Я хочу, чтобы самые высокие бомбардиры для каждой игры ..mario, jon, 2345 minesweeper, lisa, 900. Это должен иметь gameName, playerName, оценка для каждой игры –
, вы можете использовать вложенные для каждого, чтобы достичь того же. взгляните на предложенный ответ и сообщите мне, помогает ли это –