scala spark指定的列将""替换为null
时间: 2023-12-11 22:05:54 浏览: 123
您可以使用 Scala 中的 `na` 函数来将指定列中的空字符串替换为 `null`。具体代码如下:
```
import org.apache.spark.sql.functions._
val df = Seq(
("John", "", "Doe"),
("", "Michael", "Smith"),
("Jane", "Doe", "")
).toDF("first_name", "middle_name", "last_name")
val columnsToReplace = Seq("first_name", "middle_name", "last_name")
val dfWithNulls = columnsToReplace.foldLeft(df){
(currentDF, column) => currentDF.withColumn(column,
when(col(column) === "",
null).otherwise(col(column)))
}
dfWithNulls.show()
```
其中,`foldLeft` 函数用来遍历需要替换为 `null` 的列。`withColumn` 函数用来判断列中的值是否为 `""`,如果是,则替换为 `null`,否则保持原值。最后通过 `show()` 函数来打印数据。
阅读全文