获取 numOfRecordsIn 在 Flink 中使用计数器



我想在 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显示哪个运算符?

公制计数器通过 Flink 的公制系统公开。要查看它们,您必须配置一个指标报告器。有关如何注册指标报告器的说明,请参阅此处。

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

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

更好地理解指标系统的一个好方法是调出一个简单的流作业,并查看 Flink 的 Web UI 中的指标。我还发现在作业运行时查询监视 REST API 非常有用。

相关内容

  • 没有找到相关文章

最新更新