val tag = spark.sql("select id,k,v from table")
val ks= tag.select("k").map(row => row.getAs[String]("k")).distinct().collect().sorted.toList
tag.groupBy("id").pivot("k", labelnames).agg(max("v"))
返回结果格式:
id,k1,k2,k3
1,v1,v2,v3
val tag = spark.sql("select id,k,v from table")
val ks= tag.select("k").map(row => row.getAs[String]("k")).distinct().collect().sorted.toList
tag.groupBy("id").pivot("k", labelnames).agg(max("v"))
返回结果格式:
id,k1,k2,k3
1,v1,v2,v3