4 votes

Demande de messages entre deux horodatages à partir de Kafka

Est-il possible de consommer les messages de Kafka en fonction de la période pendant laquelle les messages ont été ingérés ?

Exemple : Je veux que tous les messages ingérés dans un sujet entre 0900-1000 aujourd'hui (et maintenant il est 1200).

S'il n'y a qu'un moyen de spécifier une heure de début, c'est parfait - mon consommateur peut arrêter de traiter les messages lorsqu'il atteint l'heure de fin.

Je vois des méthodes pour demander des messages à partir d'un décalage donné, et pour obtenir le premier décalage disponible, et pour le décalage disponible le plus tôt, mais pas tous les messages après un temps donné.

7voto

ppatierno Points 4287

Vous pourriez utiliser le offsetsForTimes qui renvoie le décalage dont l'horodatage est supérieur ou égal à l'horodatage donné. Plus d'informations sur la doc officielle ici :

https://kafka.apache.org/0101/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html#offsetsForTimes(java.util.Map)

Après avoir obtenu le décalage, vous pouvez chercher à l'utiliser et commencer à lire à partir de là.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X