使用带有列名列表的sparkDataframe过滤器

cngwdvgl  于 2022-12-16  发布在  Spark
关注(0)|答案(1)|浏览(423)

我必须使用 List[String] :

val keyList = List("columnA", "columnB", "columnC", "columnD", ...)

对于名为 key ,语法应为:

val nonNullDf = df.filter(col("key").isNotNull)

我的问题是如何使用 keyList 进入上一个过滤器?

vngu2lb8

vngu2lb81#

您可以通过在上执行map reduce来生成过滤器 keyList .
使用 and 如果要保留所有列都不为null的行,请使用 or 如果要保留任何列不为null的行。

val nonNullDf = df.filter(keyList.map(col(_).isNotNull).reduce(_ and _))

相关问题