我正在尝试在spark中的for循环中广播变量。在此过程中,spark抛出任务而不是序列化错误。如果在for循环中广播相同的变量,则没有错误。下面是抛出错误的代码片段。任何帮助表示赞赏。
var Final = computedRDD.filter(x => x.Id == uniqueKey(0))
for (partId <- uniqueKey) {
val FinalBroadcast = sc.broadcast(Final.collect)
val computeNew = computedRDD.filter(x => x.partId == partId).repartition(executors).mapPartitions(performFinalPass(FinalBroadcast))
computeNew.collect.forall(x => Final.add(x))
}