如何在Spark Dataframe上的多列上进行透视

sks*_*sks 5 scala apache-spark spark-streaming apache-spark-sql spark-dataframe

我正在尝试将Spark数据帧转移到多个列上,我正在使用Pivot函数,但是在我添加2列之后,它给出了像重载参数这样的错误.

这是我在添加第三列之后得到的错误,重载的方法值pivot with alternative:(pivotColumn:String,values:java.util.List [Any])org.apache.spark.sql.RelationalGroupedDa taset(pivotColumn:字符串,值:Seq [Any])org.apache.spark.sql.RelationalGroupedDataset(pivotColumn:String)org.apache.spark.sql.RelationalGroupedDataset不能应用于(String,String,String)

这是我的工作:

 val df_new=df.join(df1, df("Col1")<=>df1("col1") && df1("col2")<=> df("col2")).groupBy(df("Col6"))
                             .agg(
                                 sum(df("Col1")).alias("Col1"), 
                                 sum(df("Col2")).alias("Col2")  ,
                                 sum(df("Col3")).alias("Col3")  ,
                                 sum(df("Col4")).alias("Col4")  ,
                                 sum(df("Col5")).alias("Col5")  
                                 ).select(
                                         Amount,'Col1, 'Col2,'Col3,'Col4,'Col5
                                          )
Run Code Online (Sandbox Code Playgroud)

- 枢

val pivotdf=df_new.groupBy($"Col1").
                  pivot("Col1","Col2","Col3","col4")
Run Code Online (Sandbox Code Playgroud)

我必须转向col1,Col2,col3,col4和col5.请指导我如何做到这一点.