Pyspark数据框有效地获取了大多数具有空值的列

时间:2019-02-25 19:37:16

标签: python apache-spark pyspark apache-spark-sql

我在集群中生活着一个巨大的Spark数据框。 count显示有2400万行。还有900多个列。

这些列大多数为空。我正在考虑删除大部分为空的列。或获取并非大部分为空的列的列表。

我当前正在遍历列:

for col in ALL_COLUMNS[1:]:
    test_df = df.select(col)
    NNcount = test_df.filter(test_df[col].isin(["NULL", "", None]) == False).count()
    # more logic ..

然后选择问题是,此循环的每次迭代都需要几分钟。

是否有更快的方法来基于空值删除列?最好不需要遍历整个列-而且显然比这更优雅。

也许答案已经在那里,但经过一些搜索后我找不到匹配的内容。谢谢!

0 个答案:

没有答案