使用Flink

时间:2017-10-23 10:35:15

标签: apache-flink flink-streaming flink-cep

我想在Flink中为一个运算符显示numRecordsIn,为此我一直在here的数据工匠处跟随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?

2 个答案:

答案 0 :(得分:1)

公制计数器通过Flink的公制系统公开。要查看它们,您必须配置度量标准报告器。可以找到如何注册度量标准报告者的说明here

答案 1 :(得分:1)

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

您询问的代码会导致numRecordsIn计数器针对使用该指标的运算符递增。

更好地了解指标系统的一个好方法是启动一个简单的流媒体工作,并查看Flink网站上的指标。我还发现在作业运行时查询监控REST API非常有用。