在Core java编码中,如果我必须编写N个案例的代码,它将是这样的:
int counter=0
while (counter <N)
{
//do something
counter++;
}
然而,在call方法的情况下,计数器将位于驱动程序,而内部代码将位于执行程序上。如果发生火花怎么办?
谢谢。
答案 0 :(得分:0)
如果您真的想要保持“while”逻辑,可以使用Spark Accumulator:
Accumulator<Integer> counter = sc.accumulator(0);
while (counter.value < N) {
myRDD.foreach(x -> {
counter.add(1);
// do something
}
}