Apache Flink: Cómo contar el número total de eventos en un DataStream
Tengo dos transmisiones sin procesar y me estoy uniendo a esas transmisiones y luego quiero contar cuál es el número total de eventos que se han unido y cuántos eventos no. Estoy haciendo esto usando el mapa enjoinedEventDataStream
Como se muestra abajo
joinedEventDataStream.map(new RichMapFunction<JoinedEvent, Object>() {
@Override
public Object map(JoinedEvent joinedEvent) throws Exception {
number_of_joined_events += 1;
return null;
}
});
Pregunta 1: ¿Es esta la forma adecuada de contar el número de eventos en la transmisión?
Pregunta 2: He notado un comportamiento cableado, que algunos de ustedes podrían no creer. El problema es que cuando ejecuto mi programa Flink en IntelliJ IDE, me muestra el valor correcto paranumber_of_joined_events
pero0
en el caso cuando presente este programa comojar
. Entonces estoy obteniendo el valor inicial denumber_of_joined_events
cuando ejecuto el programa comojar
archivo en lugar del recuento real. ¿Por qué sucede esto solo en caso dejar
envío de archivos y no en IDE?