2017-10-23 8 views
0

Ich mag die Leistungsanalyse von Flink CEP-Engine tun und ich über diese Klassen kamwie die Betriebskosten in Flink mit Kalkulator Klasse erhalten in Flink bereitgestellt

org.apache.flink.optimizer.costs.CostEstimator; 
org.apache.flink.optimizer.costs.Costs; 
org.apache.flink.optimizer.costs.DefaultCostEstimator; 

Aber das Problem ist, dass ich nicht weiß, wie man diese Klasse benutzt. Kann mir jemand einen Code oder eine Unterstellung geben, wie kann ich die Kostenschätzung für Betreiber {Join zB} in Flink finden?

Unten ist der Code für einen Join, dass ich

DataStream<JoinedEvent> joinedEventDataStream = stream1.join(stream2).where(new KeySelector<RRIntervalStreamEvent, Long>() { 
     @Override 
     public Long getKey(RRIntervalStreamEvent rrIntervalStreamEvent) throws Exception { 
      return rrIntervalStreamEvent.getTime(); 
     } 
    }) 
      .equalTo(new KeySelector<qrsIntervalStreamEvent, Long>() { 
     @Override 
     public Long getKey(qrsIntervalStreamEvent qrsIntervalStreamEvent) throws Exception { 
      return qrsIntervalStreamEvent.getTime(); 
     } 
    }) 
      .window(TumblingEventTimeWindows.of(Time.milliseconds(1000))) 
      .apply(new JoinFunction<RRIntervalStreamEvent, qrsIntervalStreamEvent, JoinedEvent>() { 
       @Override 
       public JoinedEvent join(RRIntervalStreamEvent rr, qrsIntervalStreamEvent qrs) throws Exception { 

        //getting the cost -- just checking 

        // costs.getCpuCost(); 

        return new JoinedEvent(rr.getTime(),rr.getSensor_id(),qrs.getSensor_id(),rr.getRRInterval(),qrs.getQrsInterval()); 
       } 
      }); 

wie kann ich berechnen die Kosten für diese kommen in Flink am aufzutreten?

Antwort

1

Die Kostenklassen gehören zum Optimierer der DataSet-API (Flinks Stapelverarbeitungs-API), während die CEP-Bibliothek auf der DataStream-API basiert. Die DataStream-API nutzt die DataSet-API nicht.

Die CEP-Bibliothek und der DataSet-Optimierer sind völlig unabhängig voneinander. Daher ist es nicht möglich, diesen Code zu verwenden, um die Kosten eines CEP-Musters zu schätzen. Mir ist auch keine andere integrierte Methode bekannt, um die Kosten eines CEP-Musters (oder eines anderen DataStream-Programms) zu schätzen.