С Spark> 2.0 вы можете отбросить несколько столбцов, используя последовательность имен столбцов:
val clmList: Seq[Column] = _
val strList: Seq[String] = clmList.map(c => s"$c")
df.drop(strList: _*)
В противном случае вы всегда можете использовать foldLeft
, чтобы сложить влево на DataFrame
и оставьте свои столбцы:
clmList.foldLeft(df)((acc, c) => acc.drop(c))
Надеюсь, это поможет.