Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 查找包含任何空值的列的有效方法_Apache Spark_Pyspark - Fatal编程技术网

Apache spark 查找包含任何空值的列的有效方法

Apache spark 查找包含任何空值的列的有效方法,apache-spark,pyspark,Apache Spark,Pyspark,我想返回至少包含1个空值的所有列的列表。我在StackOverflow上看到的所有其他类似问题都是过滤值为null的列,但这肯定是次优的,因为它必须找到所有null值,但我只想找到一个null值 我可以筛选值为null的列,然后如果此结果的计数大于1,则我知道该列包含null值。然而,正如我所说的,这是次优的,因为它首先找到所有空值 有没有办法做到这一点 此外,有没有办法在不遍历所有列的情况下执行此操作?Spark的SQL函数可以检查列的任何值是否满足条件 从pyspark.sql导入函数为F

我想返回至少包含1个空值的所有列的列表。我在StackOverflow上看到的所有其他类似问题都是过滤值为null的列,但这肯定是次优的,因为它必须找到所有null值,但我只想找到一个null值

我可以筛选值为null的列,然后如果此结果的计数大于1,则我知道该列包含null值。然而,正如我所说的,这是次优的,因为它首先找到所有空值

有没有办法做到这一点

此外,有没有办法在不遍历所有列的情况下执行此操作?

Spark的SQL函数可以检查列的任何值是否满足条件

从pyspark.sql导入函数为F
数据=[[1,2,3],[None,5,6],[7,None,9]]
df=spark.createDataFrame(数据,模式=[“col1”、“col2”、“col3”])
cols=[f“any({col}为null)as{col}u包含df.columns中的col的_null]
df.selectExpr(cols.show())
输出:

+------------------+------------------+------------------+
|col1_包含| null | col2_包含| null | col3_包含|null|
+------------------+------------------+------------------+
|对|对|错|
+------------------+------------------+------------------+

似乎很难。也许把你的数据转过来求和?这是否有用: