2015-04-23 9 views
8

Uso lo spark streaming. Secondo la Guida alla Programmazione Spark (vedi http://spark.apache.org/docs/latest/programming-guide.html#accumulators), gli accumulatori nominati verranno visualizzati nell'UI Web come di seguito: Accumulators in Spark WebUI Purtroppo, non riesco a trovarlo da nessuna parte. Sto registrando gli accumulatori come questo (Java):Accumulatore di scintille non visualizzato nella scintilla WebUI

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

Sto utilizzando Spark 2.0.0.

+0

accumulatore di che tipo avete? –

+1

Sto avendo lo stesso problema. Sto usando un LongAccumulator e uno personalizzato, e nessuno dei due appare. Entrambi sono registrati con un nome usando sc.register(). Eri in grado di capirlo? – Nate

+0

Lo hai mai capito? Sto vedendo lo stesso problema in Scala. – Ross117

risposta

0

Non ho un esempio di flusso di lavoro, ma nell'esempio non streaming questa UI può essere trovata nella scheda degli stage quando si sceglie una fase specifica. Inoltre, io in genere creare l'accumulatore in questo modo:

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

L'equivalente in streaming scintilla sarebbe probabilmente per sostituire sc con ssc.SparkContext

0

Ha funzionato per me. Qui di seguito è il mio codice di esempio

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

Tuttavia, quando ho provato ad usarli all'interno di un decoder durante la creazione di flusso per Kafka, non si fece vedere nell'interfaccia utente.

Ecco come appare nell'interfaccia utente (scheda selezionare le fasi dalla parte superiore, e fare clic su una delle fasi) screen shot

Problemi correlati