【发布时间】:2019-05-29 08:50:26
【问题描述】:
我有一个csv文件,如下
它有 6 行,第一行作为标题,而标题读作“学生分数” 数据框将它们视为一列,现在我想将两列与数据分开。 “student”和“marks”用空格隔开。
df.show()
_______________
##Student Marks##
---------------
A 10;20;10;20
A 20;20;30;10
B 10;10;10;10
B 20;20;20;10
B 30;30;30;20
现在我想将这个 csv 表转换成两列,包括学生和分数,对于每个学生来说,分数加起来,如下所示
Student | Marks
A | 30;40;40;30
B | 60;60;60;40
我在下面尝试过,但它抛出了一个错误
df.withColumn("_tmp", split($"Students Marks","\\ ")).select($"_tmp".getItem(0).as("col1"),$"_tmp".getItem(1).as("col2")).drop("_tmp")
【问题讨论】:
标签: scala apache-spark hadoop apache-spark-sql