Scala 使用带有列名列表的Spark DataFrame筛选器
我必须使用Scala 使用带有列名列表的Spark DataFrame筛选器,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我必须使用列表[String]过滤Spark数据帧中的非空列值: val keyList = List("columnA", "columnB", "columnC", "columnD", ...) 对于名为key的单列,语法应为: val nonNullDf = df.filter(col("key").isNotNull) 我的问题是如何将键列表用于上一个过滤器?您可以通过在键列表上执行
列表[String]
过滤Spark数据帧中的非空列值:
val keyList = List("columnA", "columnB", "columnC", "columnD", ...)
对于名为key
的单列,语法应为:
val nonNullDf = df.filter(col("key").isNotNull)
我的问题是如何将
键列表
用于上一个过滤器?您可以通过在键列表
上执行map reduce来生成过滤器
如果要保留所有列均不为空的行,请使用和
;如果要保留任何列均不为空的行,请使用或
val nonNullDf = df.filter(keyList.map(col(_).isNotNull).reduce(_ and _))