Как кодировать вызов метода Apache Spark для N числа случаев?
В Core Java-кодировании, если мне нужно написать код для N числа случаев, это будет выглядеть так:
int counter=0
while (counter <N)
{
//do something
counter++;
}
Однако, в случае вызова метода, счетчик будет в драйвере, в то время как код внутри будет на исполнителях. Как это сделать в случае искры?
Благодарю вас.
1 ответ
Если вы действительно хотите сохранить логику "пока", вы можете использовать Spark Accumulator:
Accumulator<Integer> counter = sc.accumulator(0);
while (counter.value < N) {
myRDD.foreach(x -> {
counter.add(1);
// do something
}
}