Scala Spark更新位置-串联

时间:2018-07-23 10:18:51

标签: scala apache-spark dataframe

我有一个数据框df,并希望将所有不能为空的列都标记为“排除”列中的所有排除行。为此,我要遍历所有列并更新给定列为空的排除列。

def excludeAllEmpty() : Unit = {
  def excludeEmpty(columnName: String): Unit = {
    df = df.withColumn("Exclude",
      when(col(columnName) === "" || col(columnName).isNull,
        concat(col(columnName), lit(s"Excluded - ${columnName} empty"))))
  }
  fields.filter(!_.canBeEmpty).foreach(f => excludeEmpty(f.sourceName))
}

上面的代码未产生预期的结果。似乎是以下部分:

concat(col(columnName), lit(s"Excluded - ${columnName} empty")))

如何更新等于concat(previousValue,message)的列?

0 个答案:

没有答案