У меня есть информация в форме (очевидно, фальшивая, но служит цели):
| User | Country |
|------|---------|
| A | Sweden |
| A | Sweden |
| A | London |
| B | Spain |
| B | Denmark |
| B | Brazil |
| C | India |
Это доступно в качестве кадра данных в искре.Я искал использовать spark (и, может быть, SparkSQL) для расчета карты частот для каждого пользователя.
(A => Map((Sweden, 2), (London, 1)))
(B => Map((Spain, 1), (Brazil, 1), (Denmark, 1)))
(C => Map((India, 1)))
До сих пор я достигал:
(A => (Sweden, 2))
(A => (London, 1))
(B => (Spain, 1))
(B => (Brazil, 1))
(B => (Denmark, 1))
(C => (India, 1))
с помощьюследующий запрос:
SELECT user, country, COUNT(country) as frequency
FROM information
GROUP BY user, country
, но проблема в том, что я получаю 6 строк вместо 3. Не знаю, куда идти.