Spark - 在阶段丢失任务

Spark - Lost task in stage

知道为什么这行不通吗?

val m = sc.union(sc.parallelize(0 until 10).map(n => sc.parallelize(n until 20))).collect()

我知道还有其他方法可以做到这一点,但我更感兴趣的是为什么它不起作用。

结果:http://pastebin.com/FuiKFMMA

这里的问题是您正试图从代码内部调用 SparkContext 上的方法 运行s 在动作或转换中(sc.parallelize 调用内部 map 呼叫,在这种情况下)。 SparkContext 方法只能从驱动程序调用,不能在 Spark 执行程序中可能 运行 的代码内部调用(例如操作和转换)。

我有一个 Spark 拉取请求,可以在这种情况下添加更好的错误消息:https://github.com/apache/spark/pull/3884

另请参阅:NullPointerException in Scala Spark, appears to be caused be collection type?