Angenommen, wir haben 3 Kafka-Partitionen für ein Thema, und ich möchte, dass meine Ereignisse mit der Ereigniszeit stundenweise gefenstert werden.Wie verwendet Flink Nachrichten von einem Kafka-Thema mit mehreren Partitionen, ohne dass es zu Verzerrungen kommt?
Wird der Kafka-Consumer aufhören, von einer Partition zu lesen, wenn sie sich außerhalb des aktuellen Fensters befindet? Oder öffnet es ein neues Fenster? Wenn es neue Fenster öffnet, wäre es dann theoretisch nicht möglich, eine unbegrenzte Anzahl von Fenstern zu öffnen und somit nicht genug Speicher zu haben, wenn die Ereigniszeit einer Partition im Vergleich zu den anderen sehr verzerrt wäre? Dieses Szenario wäre insbesondere möglich, wenn wir etwas Geschichte wiedergeben.
Ich habe versucht, diese Antwort aus dem Lesen von Dokumentation zu bekommen, kann aber nicht viel über die Interna von Flink mit Kafka auf Partitionen finden. Eine gute Dokumentation zu diesem speziellen Thema wäre sehr willkommen.
Danke!
Das ist sehr nützlich, danke. Wird die Reduzierung in diesem Beispiel ausgeführt, während das Fenster Ereignisse anhäuft? whateverSource.windowByEventTime(). reduce (someReduceFunc) .toSomeSink (foo) – RoyB
Ja, und nur die Ergebnisse der 'reduce'-Funktion werden gespeichert. –