Spark SQL中列转行(UNPIVOT)的两种方法

 目录

from pyspark.sql import SparkSession  spark = SparkSession.builder.appName('TestAPP').enableHiveSupport().getOrCreate()  df = spark.createDataFrame([('数学','张三',88), ('语文','张三',92), ('英语','张三',77),                             ('数学','王五',65), ('语文','王五',87), ('英语','王五',90),                             ('数学','李雷',67), ('语文','李雷',33), ('英语','李雷',24),                             ('数学','宫九',77), ('语文','宫九',87), ('英语','宫九',90)                            ], ['科目','姓名','分数']).orderBy('科目')  df.show()
复制代码

执行程序,可以看到数据如下,

复制代码
    +----+----+----+     |科目|姓名|分数|     +----+----+----+     |数学|张三|  88|     |数学|李雷|  67|     |数学|宫九|  77|     |数学|王五|  65|     |英语|张三|  77|     |英语|宫九|  90|     |英语|李雷|  24|     |英语|王五|  90|     |语文|李雷|  33|     |语文|宫九|  87|     |语文|张三|  92|     |语文|王五|  87|     +----+----+----+
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信