2017-10-23 2 views
0

オペレータのnumRecordsInをFlinkに表示したいのですが、これはデータ職人のpptにhereで従っています。カウンターのためのコードは、問題はどのように私はnumber_of_Records_In示ししたいオペレータを指定しないことですFlinkでカウンタを使用してnumOfRecordsInを取得する

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; 
    } 
} 

の下に与えられていますか?

答えて

1

メトリックカウンタは、Flinkのメトリックシステムによって公開されます。それらを見るためには、メトリックレポーターを設定する必要があります。メトリックレポーターの登録方法については、hereをご覧ください。

+0

ありがとう –

1

Flinkには、numRecordsInを含むいくつかの組み込みメトリックが含まれています。それが測定したいものなら、その特定の測定を実装するためのコードを書く必要はありません。同様に、numRecordsInPerSecondと他のホストがあります。

このコードでは、メトリックが使用されている演算子のnumRecordsInカウンタがインクリメントされます。

メトリクスシステムをよりよく理解するには、簡単なストリーミングジョブを起動し、FlinkのWeb UIでメトリックを確認することをお勧めします。私はまた、ジョブが実行されている間、監視REST APIを照会することが本当に役に立ちました。

関連する問題