У меня есть dataframe с столбцом MapType, где ключ является идентификатором, а значением является другой StructType с двумя номерами, счетчиком и выручкой.PySpark Dataframe.groupBy MapType column
Похоже, что:
+--------------------------------------+
| myMapColumn |
+--------------------------------------+
| Map(1 -> [1, 4.0], 2 -> [1, 1.5]) |
| Map() |
| Map(1 -> [3, 5.5]) |
| Map(1 -> [4, 0.1], 2 -> [6, 101.56]) |
+--------------------------------------+
Теперь мне нужно суммировать эти два значения за ид и результат был бы:
+----------------------+
| id | count | revenue |
+----------------------+
| 1 | 8 | 9.6 |
| 2 | 7 | 103.06 |
+----------------------+
Я на самом деле не имеют ни малейшего представления о том, как сделать это и не удалось найти документацию для этого особого случая. Я попытался с помощью Dataframe.groupBy, но не мог заставить его работать :(
Есть идеи?
Я использую искровой-1.5.2 с питона-2.6.6
Спасибо большое! взорваться - именно то, что я искал, но не нашел его сам. Я каждый раз ожидал, что он будет работать как 'df.myMapColumn.key'' df.myMapColumn.value', но id не –
@ mabe.berlin Вы также можете проверить http://stackoverflow.com/a/33850490/1560062:) – zero323