Spark-“ sc.parallelize()”运行时间

时间:2019-01-06 11:12:39

标签: python apache-spark pyspark

我对“并行化”功能的运行时间有疑问。

当我调用此行代码时:

rdd = sc.parallelize(data, numSlices)

我的数据是一个大小约为50的列表,其中每个对象的大小均为10Mb。

我的问题是这个:

当我运行以下行时:

rdd = sc.parallelize(data, 1)

花了大约1-2秒来运行。 但是,当我尝试增加分区数时:

rdd = sc.parallelize(data, 20)

运行时间增加到大约20秒。

我尝试查看了spark代码以及“ readRDDFromFile”功能代码,但看不到切片数量会改变运行时间的任何原因。

注意:如果该列表大约有100个成员,而不是50个,则位于- “ PySpark:java.lang.OutofMemoryError:Java堆空间”

我想我可以增加堆空间来解决该错误,但是在实际尝试使用分区时,我仍然会遇到运行时间非常慢的问题。

因此,试图理解为什么当我增加切片数量时调用并行化需要这么长时间。

谢谢!

0 个答案:

没有答案