首页 > 解决方案 > 如何提高 Pyspark 方法的性能以获取缺失数据的行的比率

问题描述

我正在尝试对大约 2600 万行 x 36 列的大型数据集进行数据验证,以确定列中缺失数据的比率。然而,当前的解决方案真的很慢,想知道是否有人知道任何加速优化它的方法?

我找到并修改了此处建议的方法How to find count of Null and Nan values for each column in a PySpark dataframe? 它可以工作,但对于大型数据集来说确实很慢。我还尝试使用 pandas 数据框,它似乎在较小的容量下性能更高,但它不会扩大规模。

ratio_df = crm_df.select([(1 - (count(when(isnan(c) | col(c).isNull(), c))) / row_count).alias(c) for c in crm_df.columns])

不知道是否可以提高性能,但目前需要几个小时,理想情况下希望将其缩短到不到一个小时。

标签: performancepysparkpyspark-sql

解决方案


推荐阅读