我有一个包含数组列的数据框。它包含值列表以及空值。我想用其他值替换空值。
import spark.implicits._
val columns=Array("id", "subject")
val df1=sc.parallelize(Seq(
(1, Array("eng","math",null,null))
)).toDF(columns: _*)
df1.printSchema
df1.show()
如果为空,请使用
IFNULL
函数替换为默认值。检查下面的代码。
df1
.selectExpr(
"id",
"TRANSFORM(subject, s -> IFNULL(s, '0')) as subject"
).show(false)
+---+-----------------+
|id |subject |
+---+-----------------+
|1 |[eng, math, 0, 0]|
+---+-----------------+