2015-04-23 3 views
8

Używam streamingu iskrowego. Zgodnie z Przewodnikiem programistycznym Spark (patrz http://spark.apache.org/docs/latest/programming-guide.html#accumulators), nazwane akumulatory zostaną wyświetlone w WebUI, jak poniżej: Accumulators in Spark WebUI Niestety, nie mogę tego nigdzie znaleźć. Rejestruję takie akumulatory (Java):Akumulator iskry nie jest wyświetlany w iskrze WebUI

LongAccumulator accumulator = new LongAccumulator();  
ssc.sparkContext.sc().register(accumulator, "my accumulator"); 

Używam Spark 2.0.0.

+0

akumulatorze o jaki rodzaj masz? –

+1

Mam ten sam problem. Używam LongAccumulatora i niestandardowego, a żadne nie pojawiają się. Oba są zarejestrowane przy użyciu nazwy sc.register(). Czy byłeś w stanie to rozgryźć? – Nate

+0

Czy kiedykolwiek to rozgryzłeś? Widzę ten sam problem w Scali. – Ross117

Odpowiedz

0

Nie mam działającego przykładu strumieniowego przesyłania strumieniowego, ale w przypadku braku przesyłania strumieniowego ten interfejs można znaleźć na karcie etapów przy wyborze konkretnego etapu. Także, ja generalnie stworzyć akumulator takiego:

val accum = sc.longAccumulator("My Accumulator") 

Równowartość w streamingu dla iskra będzie prawdopodobnie zastąpić sc ssc.SparkContext

0

pracował dla mnie. Poniżej jest mój przykładowy kod

Accumulator<Integer> spansWritten = jsc.sparkContext().intAccumulator(0,"Spans_Written"); 
JavaDStream<Span> dStream = SourceFactory.getSource().createStream(jsc) 
    .map(s -> { 
     spansWritten.add(1); 
     return s; 
    }); 

Jednak, gdy starałem się ich używać wewnątrz dekodera podczas tworzenia strumienia do Kafki, to nie pojawi się w interfejsie użytkownika.

Oto jak to wygląda w UI (tab wybierz etapach od góry, a następnie kliknąć na jednej sceny) screen shot

Powiązane problemy