Apache spark 从spark sql中的结构数据类型中找出null

Apache spark 从spark sql中的结构数据类型中找出null,apache-spark,Apache Spark,我有一个employee表,其中address是struct数据类型,struct中的一些值是null。因此,如何使用spark sql找出没有单个null的行。我得到了一个小表的答案,其中在struct中有两个字段,如下所示..但是如何找出在struct类型中是否有100多个字段..我们知道吗要创建udf或任何其他方法吗 df.filter($"address.city".isNotNull and $"address.pin".isNotNull).show() 提前感谢获取列名: val

我有一个employee表,其中address是struct数据类型,struct中的一些值是null。因此,如何使用spark sql找出没有单个null的行。我得到了一个小表的答案,其中在struct中有两个字段,如下所示..但是如何找出在struct类型中是否有100多个字段..我们知道吗要创建udf或任何其他方法吗

df.filter($"address.city".isNotNull and $"address.pin".isNotNull).show()
提前感谢

获取列名:

val fields=df.select($“address.*)。列
并使用过滤器:

import org.apache.spark.sql.functions_
其中(字段映射(c=>col(s“address.`c`”).isNotNull)reduce(u和u))
要跳过空字符串,只需添加:

df.where(字段映射(c=>col(s“address.`c`)”)
映射(c=>not(trim(c)”)和c.isNotNull)
减少(和)