0
我使用的是Spark 2.0.0和數據框。 這裏是我的輸入數據幀作爲將GroupBy對象轉換爲Pyspark中的有序列表
| id | year | qty |
|----|-------------|--------|
| a | 2012 | 10 |
| b | 2012 | 12 |
| c | 2013 | 5 |
| b | 2014 | 7 |
| c | 2012 | 3 |
我要的是
| id | year_2012 | year_2013 | year_2014 |
|----|-----------|-----------|-----------|
| a | 10 | 0 | 0 |
| b | 12 | 0 | 7 |
| c | 3 | 5 | 0 |
或
| id | yearly_qty |
|----|---------------|
| a | [10, 0, 0] |
| b | [12, 0, 7] |
| c | [3, 5, 0] |
我發現的最接近的解決方案是collect_list()
,但此功能不會爲提供訂單名單。在我的腦海解決方案應該是這樣的:
data.groupBy('id').agg(collect_function)
有沒有辦法不進行過濾每一個id列使用循環產生呢?
謝謝,'pivot'就是我要找的! – CodeMySky
'struct'收藏在pyspark你的意思是? – eliasah
Spark中的@eliash'collect_ *'不支持Spark <2.0中的原子。 – zero323