Spark Accumulator-Wert wird von Task @ nicht geles

Ich initialisiere einen Akku

final Accumulator<Integer> accum = sc.accumulator(0);

Und dann, während ich mich in der Kartenfunktion befinde, versuche ich, den Akkumulator zu erhöhen und dann den Akkumulatorwert zum Einstellen einer Variablen zu verwenden.

JavaRDD<UserSetGet> UserProfileRDD1 = temp.map(new Function<String, UserSetGet>() {

            @Override
            public UserSetGet call(String arg0) throws Exception {

                    UserSetGet usg = new UserSetGet();

                    accum.add(1);
                    usg.setPid(accum.value().toString();


            }
  });

Aber ich erhalte den folgenden Fehler.

16/03/14 09:12:58 ERROR executor.Executor: Ausnahme in Task 0.0 in Stage 2.0 (TID 2) java.lang.UnsupportedOperationException: Der Akkumulatorwert in Task @ kann nicht gelesen werde

EDITED - Laut der Antwort von Avihoo Mamka ist es nicht möglich, den Akkumulatorwert in Tasks zu ermitteln.

So gibt es sowieso das kann ich gleich parallel erreichen. So dass der Pid-Wert jedes Mal gesetzt wird, wenn eine Variable (z. B. eine statische Variable) in meiner Map-Funktion inkrementiert wird.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage