Apache spark 当代码在不同的执行器上运行时,对于n个案例,如何实现Spark的循环内部调用方法?

Apache spark 当代码在不同的执行器上运行时,对于n个案例,如何实现Spark的循环内部调用方法?,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我正在尝试为n个案例实施Spark的循环内部调用方法: int counter=0 while (counter <N) { //do something counter++; } int计数器=0 while(counter如果你真的想保持你的while逻辑,你可以使用Spark: 累加器计数器=sc.累加器(0); while(counter.value{ 计数器。添加(1); //做点什么 } } 谢谢。实际上,我应该更清楚地解释这个问题。确切的问题是N是在Map方法(例如m

我正在尝试为n个案例实施Spark的循环内部调用方法:

int counter=0
while (counter <N)
{
 //do something

counter++;

}
int计数器=0

while(counter如果你真的想保持你的while逻辑,你可以使用Spark:

累加器计数器=sc.累加器(0);
while(counter.value{
计数器。添加(1);
//做点什么
}
}

谢谢。实际上,我应该更清楚地解释这个问题。确切的问题是N是在Map方法(例如myRDD.Map)中的代码中确定的。如果在map方法中,我将其设置为变量N,然后在上面的while循环中尝试使用它,N将变为0。@SauravR在这种情况下,我建议您使用一个代码片段来编辑您的问题,以更好地表示您的情况。此外,如果您能用简单的RDD显示一个可复制的示例,则会是一个加号。问题在发送后得到解决g使用广播变量访问累加器计数器,并在while循环中访问它。谢谢