Искры Scala DataFrame добавление 1 ко всем значениям в столбце - PullRequest
0 голосов
/ 09 сентября 2018

Я новичок в Spark DataFrame. У меня есть текстовый файл с такими данными, как

schoolid,classid,studentid,subject,marks
bjs,5,111,hindi,23
bjs,5,222,maths,78
bjs,7,333,bio,89
bjs,1,444,chemistry,67
ghs,2,555,bio,78
ghs,2,666,phy,56
ghs,9,777,drawing,56

Я хочу преобразовать эти данные в DataFrame и добавить 1 к каждому из значений в столбце меток

, поэтому я использую код

val df = sparkSession.read.format("csv").option("header","true").load("samplefile1.txt")
 val newdf = df.select(col($"marks"+1)).show()

, но получаю ошибку

type mismatch; found : org.apache.spark.sql.Column required: String

, могу ли я получить помощь с правильным синтаксисом

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018
 df.withColumn("marks", expr("marks +1").cast("integer")).show

Выход:

+--------+-------+---------+---------+-----+
|schoolid|classid|studentid|  subject|marks|
+--------+-------+---------+---------+-----+
|     bjs|      5|      111|    hindi|   24|
|     bjs|      5|      222|    maths|   79|
|     bjs|      7|      333|      bio|   90|
|     bjs|      1|      444|chemistry|   68|
|     ghs|      2|      555|      bio|   79|
|     ghs|      2|      666|      phy|   57|
|     ghs|      9|      777|  drawing|   57|
+--------+-------+---------+---------+-----+
0 голосов
/ 10 сентября 2018

Попробуйте это решение:

df.withColumn("marks",col("marks") + lit(1)).show
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...