我有一个数据框,其中包含一个MapType列,键是一个id,值是另一个StructType,包含两个数字,一个计数器和一个收入。
它看起来像这样:
现在我需要按id汇总这两个值,结果如下:
我其实不知道如何做这个,并且找不到这种特殊情况的文档。我尝试使用Dataframe.groupBy,但是无法让它工作:(
有任何想法吗?
我正在使用Spark 1.5.2和Python 2.6.6
它看起来像这样:
+--------------------------------------+
| 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汇总这两个值,结果如下:
+----------------------+
| id | count | revenue |
+----------------------+
| 1 | 8 | 9.6 |
| 2 | 7 | 103.06 |
+----------------------+
我其实不知道如何做这个,并且找不到这种特殊情况的文档。我尝试使用Dataframe.groupBy,但是无法让它工作:(
有任何想法吗?
我正在使用Spark 1.5.2和Python 2.6.6
df.myMapColumn.key
df.myMapColumn.value
这样工作,但事实并非如此。 - mabe.berlin