Apache spark 我想测量Spark';数据帧聚合的性能。计数还是收集行动?
我想在Spark上创建dataframe的性能结果统计信息。我在groupBy之后调用count()操作并测量它所花费的时间Apache spark 我想测量Spark';数据帧聚合的性能。计数还是收集行动?,apache-spark,spark-dataframe,pyspark-sql,Apache Spark,Spark Dataframe,Pyspark Sql,我想在Spark上创建dataframe的性能结果统计信息。我在groupBy之后调用count()操作并测量它所花费的时间 df.groupBy('Student').sum('Marks').count() 但是,我发现如果我使用collect()而不是count(),那么结果要多花10倍的时间。为什么? 还有,如果我执行上述基准测试,我应该使用count()或collect()方法 谢谢。Spark数据帧使用查询优化器(称为Catalyst)加速Spark管道。在这种情况下,发生的事情有
df.groupBy('Student').sum('Marks').count()
但是,我发现如果我使用collect()而不是count(),那么结果要多花10倍的时间。为什么?
还有,如果我执行上述基准测试,我应该使用count()或collect()方法
谢谢。Spark数据帧使用查询优化器(称为Catalyst)加速Spark管道。在这种情况下,发生的事情有两种可能性:
Spark数据帧使用查询优化器(称为Catalyst)来加速Spark管道。在这种情况下,发生的事情有两种可能性:
但是如果我使用Spark Thrift Server-Hive,它会在几乎与count相同的时间内得到groupby查询的结果。那么在这种情况下,第一点可能是收集速度慢得多的原因。非常感谢。我想是这样的,因为我的spark驱动程序在我的机器上,工作人员在远程分布式集群上。但是如果我使用spark Thrift Server-Hive,它会在几乎与count相同的时间内获得groupby查询结果。那么在这种情况下,第一点可能是收集速度慢得多的原因。非常感谢。我想是这样的,因为我的spark驱动程序在我的机器上,而工作人员在远程分布式集群上。