删除所有行pyspark数据框中具有恒定值的列

时间:2019-12-10 20:48:10

标签: python apache-spark pyspark

我想删除整个数据框中具有相同值的列。我的数据框由大约25,000列和13,000行组成。

下面是我尝试过的代码:

col_counts = df.agg(*(countDistinct(col(c)).alias(c) for c in df.columns)).collect()[0].asDict()

cols_to_drop = [col for col in df.columns if col_counts[col] == 1 ]

df.drop(*cols_to_drop).show()

在执行代码时,我遇到内存问题。以下是我收到的错误:

  

Py4JJavaError:调用时发生错误   o276142.collectToPython。 :java.lang.OutOfMemoryError:Java堆空间

有没有更快更好的方法来解决这个问题?

0 个答案:

没有答案