1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| val rows2 = new util.ArrayList[Row]() rows2.add(Row("a", "b", 1)) rows2.add(Row("a", "b", 2)) rows2.add(Row("a", "b", 3)) rows2.add(Row("b", "d", 4)) rows2.add(Row("b", "d", 5)) rows2.add(Row("b", "d", 6))
val schema2 = StructType( StructField("col1", StringType):: StructField("col2", StringType):: StructField("col3", IntegerType)::Nil ) val df2 = spark.createDataFrame(rows2, schema2) println("多行转单列") df2.show() df2.groupBy('col1,'col2) .agg(concat_ws(",",collect_set('col3)).as("col3")) .show()
|