简单的Spark应用程序在3 GB的数据上运行缓慢

时间:2018-03-12 20:18:05

标签: apache-spark mapreduce emr

Spark运行缓慢。 我总共有3 GB的数据(六个.csv文件)。 3000万条记录。 我尝试在Elastic Map Reduce AWS cluster(EMR)上运行简单的Spark应用程序。 但表现很慢。

我需要对所有这3000万条记录进行一些操作: - 将它们分成4组。 - 对于每个组计算一些指标,请参阅 getTotalOps()方法

我测量了时间,我花了大约15分钟来运行这部分代码。我不计算这15分钟的时间从文件中读取数据并从中创建JavaRDD。

{{1}}

2 个答案:

答案 0 :(得分:1)

allRecords.cache

在对相同数据执行不同操作之前执行缓存。所以它不会重复从磁盘或S3中读取它。

答案 1 :(得分:1)

.cache()会有所帮助,但Spark很慢,因此对于Spark来说,对于3000万行来说,15分钟就是一个不错的表现。