如何更新 Scala Dataframe 的单个单元格?

koh*_*ing 2 scala apache-spark

这是一个示例数据框:

    var df = Seq(("Bob","Male","20"),("Jenn","Female","25")).toDF("Name","Gender","Age")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想将“姓名”等于“鲍勃”的行的“年龄”列更改为 30。

    var name_to_change = "Bob"
    var new_age = 30
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?

Sim*_*urt 5

在 Spark 中,您无法更新单个单元格。您可以做的就是更新一列。但是使用条件你可以做你想做的事。

df.withColumn("Age", when(col("Name") === name_to_change, lit(new_age)).otherwise(col("Age")))
Run Code Online (Sandbox Code Playgroud)