Je suis aux prises avec un problème concernant le temps d'événement du connecteur consommateur kafka de flink. Citant Flink docConnecteur Flink Kafka 0.10.0 Heure de l'événement Clarification et ProcessFunction Clarification
Depuis Apache Kafka 0.10+, les messages de Kafka peuvent porter horodatages, ce qui indique le moment où l'événement a eu lieu (voir « heure de l'événement » dans Apache Flink) ou le moment où le message a été écrit à la Kafka courtier.
Le FlinkKafkaConsumer010 émet des enregistrements avec l'horodatage joint si la caractéristique de temps dans Flink est définie sur TimeCharacteristic.EventTime (StreamExecutionEnvironment.setStreamTimeCharacteristic (TimeCharacteristic.EventTime)).
Le consommateur Kafka n'émet pas de filigranes.
Quelques questions et les questions viennent à l'esprit:
- Comment puis-je savoir si l'horodatage est pris du temps, il a eu lieu ou le temps écrit au courtier Kafka?
- Si le consommateur n'émet pas de filigranes et que TimeCharacteristic.EventTime est défini, cela signifie-t-il qu'un message en retard de quelques jours peut toujours entrer et être traité?
Le diagramme de flux principal ne contient pas de fonction de fenêtre et ressemble essentiellement à ceci: source (kafka) -> filter-> processFunction-> Sink. Est-ce que cela signifie que l'événement est déclenché au moment où il est consommé par le connecteur Kafka? J'utilise actuellement le connecteur Kafka 0.10.0, TimeCharacteristic.EventTime, et j'utilise une processFunction qui effectue chaque nettoyage attendu. Cependant, je reçois une situation étrange où le OnTimerContext contient des horodateurs qui commencent à partir de 0 et grandissent jusqu'à l'horodatage actuel lorsque je lance le programme flink et est assez étrange, est-ce un bug?
Merci d'avance à tous les helpers!