首页 > 解决方案 > 如何在 Python 中执行 groupby 并在 Spark 上快速计数?

问题描述

我一直在尝试在 Spark DataFrame 上执行 GroupBy 和 count() 很长时间,但是处理它需要永远......

下面的行大约需要 13 秒来处理。从我的角度来看,我认为这需要太多时间,但我不知道如何减少处理时间。

matched.limit(100).groupBy('Date','Period').agg(count("*").alias('cnt')).show()

我正在使用以下配置在 Spark 2.4 上运行:驱动程序:2 vCPU 8 GB RAM 10 执行程序:2 vCPU 8 GB RAM

谁能给我一个关于如何解决这个问题的提示?

标签: pythonapache-spark

解决方案


这是正确的方法,我认为。花费时间将取决于那里有多少行。

df.groupBy('Date', 'Period').count().show(10, False)

推荐阅读