如何使用Spark提高向MongoDB写入数据的性能?

时间:2017-04-26 02:45:08

标签: mongodb apache-spark pyspark

我使用python Spark来运行繁重的迭代计算工作并将数据写入MongoDB。在每次迭代中,可能包含要计算的RDD或DataFrame中的0.01~10亿个数据(此过程简单且相对较快),并且要将大约100,000个数据写入MongoDb。问题是程序似乎每次迭代都会陷入MongoSpark Job(见下图)。我不知道这份工作到底发生了什么。计算部分似乎已经完成(参见Job"在PythonRDD.scala&#34的runJob;)。但是,MongoDB在这项工作的大部分时间内都没有收到任何数据。据我估计,直接向MongoDB写入100,000个数据只需要很短的时间。

你能解释这项工作大部分时间的成本,以及如何提高这项工作的表现吗?

感谢您的帮助。

enter image description here

enter image description here

0 个答案:

没有答案