2

我想为 Flink 中的操作员显示 numRecordsIn,为此我一直在关注数据工匠的ppt。下面给出了计数器的代码

public static   class mapper extends  RichMapFunction<String,String>{

        public   Counter counter;

        @Override
    public void open(Configuration parameters) throws Exception {
        super.open(parameters);

        this.counter = getRuntimeContext()
                .getMetricGroup()
                .counter("numRecordsIn");
    }


    @Override
    public String map(String s) throws Exception {
        counter.inc();
        System.out.println("counter val " + counter.toString());
        return null;
    }
}

问题是如何指定要显示 number_of_Records_In 的运算符?

4

2 回答 2

2

Flink 包含许多内置指标,包括 numRecordsIn。因此,如果这是您想要测量的内容,则无需编写任何代码来实现该特定测量。对于 numRecordsInPerSecond 和许多其他人也是如此。

您询问的代码导致 numRecordsIn 计数器为正在使用该指标的运算符增加。

更好地理解指标系统的一个好方法是调出一个简单的流式作业并查看 Flink 的 web ui 中的指标。我还发现在作业运行时查询监控 REST api 非常有帮助。

于 2017-10-23T18:19:31.983 回答
2

度量计数器通过 Flink 的度量系统公开。为了查看它们,您必须配置一个指标报告器。可以在此处找到如何注册度量报告者的说明。

于 2017-10-23T12:23:08.030 回答