Spark Dataframe更改列值

Mik*_*ike 6 scala dataframe apache-spark

我得到了一些170列的数据帧.在一列中,我有一个"名称"字符串,当我将它们写入Postgres时,这个字符串有时会有一些特殊符号,如"'",这些符号是不合适的.我可以做那样的事情:

Df[$'name']=Df[$'name'].map(x => x.replaceAll("'","")) ?
Run Code Online (Sandbox Code Playgroud)

我不想解析完整的DataFrame,因为它非常庞大.请帮助我

Tza*_*har 13

您不能改变DataFrame,只能将它们转换为具有更新值的新DataFrame.在这种情况下 - 您可以使用该regex_replace函数在name列上执行映射:

import org.apache.spark.sql.functions._
val updatedDf = Df.withColumn("name", regexp_replace(col("name"), ",", ""))
Run Code Online (Sandbox Code Playgroud)


Abu*_*oeb 5

你可以这样做

df.withColumn("name", when($"name" === "'", ""))
Run Code Online (Sandbox Code Playgroud)