我正在使用火花流。根据Spark编程指南(参见http://spark.apache.org/docs/latest/programming-guide.html#accumulators),命名累加器将显示在WebUI中,如下所示: 不幸的是,我无处可寻。我正在注册这样的累加器(Java):
LongAccumulator accumulator = new LongAccumulator();
ssc.sparkContext.sc().register(accumulator, "my accumulator");
我使用的是Spark 2.0.0。
答案 0 :(得分:1)
它对我有用。以下是我的示例代码
Accumulator<Integer> spansWritten = jsc.sparkContext().intAccumulator(0,"Spans_Written");
JavaDStream<Span> dStream = SourceFactory.getSource().createStream(jsc)
.map( s -> {
spansWritten.add(1);
return s;
});
但是,当我在为kafka创建流时尝试在Decoder中使用它们时,它并没有显示在UI中。
以下是它在UI中的外观(从顶部选择阶段选项卡,然后单击其中一个阶段) screen shot
答案 1 :(得分:0)
我没有有效的流媒体示例,但在非流媒体示例中,在选择特定阶段时,可以在阶段选项卡中找到此UI。 另外,我通常会像这样创建累加器:
val accum = sc.longAccumulator("My Accumulator")
火花流的等价物可能是用ssc.SparkContext替换sc
答案 2 :(得分:0)
确保在您的spark上下文对象中注册累加器:
LongAccumulator accumulator = new LongAccumulator();
ssc.sparkContext().register(accumulator, "my accumulator");