我有一个Spark数据帧(oldDF),如下所示:
Id | Category | Count
898989 5 12
676767 12 1
334344 3 2
676767 13 3
我想要创建一个新的数据框,其列名为Category,其值为Count by Id。
我无法指定架构或不愿意的原因是因为类别变化很大。有没有办法动态地进行?
我希望看到的输出是上面的Dataframe:
Id | V3 | V5 | V12 | V13
898989 0 12 0 0
676767 0 0 1 3
334344 2 0 0 0
答案 0 :(得分:0)
您首先需要执行groupby操作,然后您可以按照here所述的方式应用实现枢轴操作
答案 1 :(得分:0)
使用Spark 1.6
oldDf.groupBy("Id").pivot("category").sum("count)