【发布时间】:2018-05-07 18:12:55
【问题描述】:
Spark 在 4 秒内读取十亿个数据集非常有效,但 df 中不同值的计数非常慢且效率较低,即使对于一小部分数据也需要 5 分钟以上,我有尝试了这些方法:
value1 = df.where(df['values'] == '1').count()
或
df.groupBy("values").count().orderBy("value_count").show()
两者都返回正确的结果,但时间是关键。 我知道 count 是一个惰性运算符,但有没有其他方法可以解决这个问题?
TIA
【问题讨论】:
-
这应该更快:
df.where("values = 1").count()
标签: pyspark pyspark-sql