我有这样的数据:
2014 a 1
2015 b 2
2014 a 2
2015 c 4
2014 b 2
如何将其转移到:
a b c
2014 3 2 0
2015 0 2 4
在Spark中。 感谢。
答案 0 :(得分:2)
这是数据透视表的原型应用
df.show()
//
//+------+------+----+
//|letter|number|year|
//+------+------+----+
//| a| 1|2014|
//| b| 2|2015|
//| a| 2|2014|
//| c| 4|2015|
//| b| 2|2014|
//+------+------+----+
val pivot = df.groupBy("year")
.pivot("letter")
.sum("number")
.na.fill(0,Seq("a"))
.na.fill(0,Seq("c"))
pivot.show()
//+----+---+---+---+
//|year| a| b| c|
//+----+---+---+---+
//|2014| 3| 2| 0|
//|2015| 0| 2| 4|
//+----+---+---+---+