Как кодировать вызов метода 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
     }
}
Другие вопросы по тегам