大家好,
我是spark新手,正在使用IDEA version 14.0.3调试saprk程序,遇到一些奇怪的问题,以下面的代码实例进行描述。我在程序中设置了两个断点,一个在匿名函数内breakpoint-1,一个在匿名函数外breakpoint-2。当进行单步调试时,直接越过匿名函数,停在了 breakpoint-2处,breakpoint-1不停留,导致无法观测匿名函数内的变量情况。但是最终结果是正确的。
请在此地求帮。
谢谢!
[mw_shl_code=applescript,true]// scalastyle:off println
package org.apache.spark.examples
import scala.math.random
import org.apache.spark._
import scala.util.logging.Logged
/** Computes an approximation to pi */
object SparkPi{
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Spark Pi").setMaster("local")
val spark = new SparkContext(conf)
val slices = if (args.length > 0) args(0).toInt else 2
val n = math.min(100000L * slices, Int.MaxValue).toInt // avoid overflow
val count = spark.parallelize(1 until n, slices).map { i =>
val x = random * 2 - 1 (breakpoint-1)
val y = random * 2 - 1
if (x*x + y*y < 1) 1 else 0
}.reduce(_ + _)
val test = count (breakpoint-2)
println("Pi is roughly " + 4.0 * count / (n - 1))
spark.stop()
}
}[/mw_shl_code]
|
|