小编rob*_*oul的帖子

Apache光束计数器/度量标准在Flink WebUI中不可用

我正在使用Flink 1.4.1和Beam 2.3.0,并且想知道是否可以在Flink WebUI(或任何地方)中提供指标,如Dataflow WebUI中那样?

我用过像这样的柜台:

import org.apache.beam.sdk.metrics.Counter;
import org.apache.beam.sdk.metrics.Metrics;
...
Counter elementsRead = Metrics.counter(getClass(), "elements_read");
...
elementsRead.inc();
Run Code Online (Sandbox Code Playgroud)

但我无法"elements_read"在Flink WebUI中找到任何可用的计数(任务指标或累加器).我认为在BEAM-773之后这将是直截了当的.

java metrics apache-flink apache-beam

10
推荐指数
1
解决办法
757
查看次数

缓冲和刷新Apache Beam流数据

我有一个流媒体作业,初始运行必须处理大量数据.其中一个DoFn调用支持批量请求的远程服务,因此在处理有界集合时,我使用以下方法:

  private static final class Function extends DoFn<String, Void> implements Serializable {
    private static final long serialVersionUID = 2417984990958377700L;

    private static final int LIMIT = 500;

    private transient Queue<String> buffered;

    @StartBundle
    public void startBundle(Context context) throws Exception {
      buffered = new LinkedList<>();
    }

    @ProcessElement
    public void processElement(ProcessContext context) throws Exception {
      buffered.add(context.element());

      if (buffered.size() > LIMIT) {
        flush();
      }
    }

    @FinishBundle
    public void finishBundle(Context c) throws Exception {
      // process remaining
      flush();
    }

    private void flush() {
      // build batch …
Run Code Online (Sandbox Code Playgroud)

java google-cloud-dataflow apache-beam

5
推荐指数
1
解决办法
1509
查看次数

嵌套j = i + 1循环的大O时间复杂度

任何人都可以告诉我下面这段代码的时间复杂度:

for (int i = 0; i < array.length - 1; i++) {
    for (int j = i + 1; j < array.length; j++) {
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

它不可能是O(n^2)从那以后j = i + 1?谢谢!

big-o

0
推荐指数
1
解决办法
2255
查看次数