首页 > 解决方案 > 如何有效地计算数据帧的行数?

问题描述

我有一个非常大的 pyspark 数据框,我会计算行数,但count()方法太慢了。还有其他更快的方法吗?

标签: apache-sparkpysparkapache-spark-sql

解决方案


如果您不介意获得近似计数,可以尝试先对数据集进行采样,然后按采样因子进行缩放:

>>> df = spark.range(10)
>>> df.sample(0.5).count()
4

在这种情况下,您可以将count()结果缩放 2(或 1/0.5)。显然,这种方法存在统计误差。


推荐阅读