我正在使用DSE Analytics分析数据,4个EC2服务器m5ad.xlarge(4个内核和16GB RAM,3个分析和1个Cassandra)
像这样的2个直流电:
在Cassandra中,键空间大小约为9GB,共计2000万行(50列)
和查询:
t0 = time()
df = exclusive_df.groupBy('id_store','id_area').agg(
F.sum("numberin").alias("total_people")
).orderBy("id_store")
df.show()
tt = str(time() - t0)
执行查询,CPU,上面的内存几乎花了10分钟(未使用所有资源)。阶段是:
在这种情况下,我不知道是什么原因导致查询缓慢,也许是因为我错过了一些用于工作程序的配置,或者缺少服务器/分区?
答案 0 :(得分:0)
您的Spark作业仅在一个节点(即驱动程序)上运行。意味着没有执行者参与这项工作。因此,整个作业是一个接一个地执行,而不是并行执行。
“也许是因为我错过了一些用于工作人员的配置,或者缺少服务器”? -好。就是这种情况。
您尚未将服务器注册到Spark驱动程序,或者您的配置错误。
在spark-env.sh中检查您的配置值。看看spark.cores.max是否有限制。
还要确保您已经为Spark实际提供了执行者的IP。