我在Spark中运行以下代码片段,试图加快速度?
val howManyPrimes = sc.paralellize(1 to 1000000).filter(isPrime).count()
实施isPrime
的地方使用了试验分部。
我运行spark-shell:
spark-shell --master=local[8]
我等待它启动,该片段在~50秒内运行。
然后我退出并再次打开一个火花壳,但现在有一个核心:
spark-shell --master=local[1]
我再次将片段在约50秒内运行。为什么呢?
isPrime实现如下:
def isPrime(x: Int):Boolean = {
var d = 2
while(d < x) {
if (x%d == 0)
return false
else d += 1
}
return true
}