2 votes

le max.poll.records de kafka ne fonctionne pas dans spark streaming

Ma version de spark streaming est 2.0, la version de kafka est 0.10.0.1,spark-streaming-kafka-0-10_2.11. I u Le nombre de consommateurs dans spark est le nombre de partitions dans kafka?donc le nombre maximum d'enregistrements dans spark streaming est max.poll.records*consumers ?

3voto

shanmuga Points 2817

max.poll.records contrôle la limite supérieure du nombre d'enregistrements renvoyés par l'enquête.

Dans le cas d'une diffusion en continu, plusieurs sondages peuvent être effectués dans un même lot. Dans ce cas max.poll.records ne sera pas très utile. Vous devriez utiliser spark.streaming.kafka.maxRatePerPartition selon documentation

Un élément important est spark.streaming.kafka.maxRatePerPartition qui est le taux maximum (en messages par seconde) auquel chaque partition Kafka sera lue par cette API directe.

Ainsi, le nombre maximum d'enregistrements par lot sera de

(spark.streaming.kafka.maxRatePerPartition) * (durée du lot en secondes) * (nombre de partitions kafka)

Par exemple, si vous avez 2 partitions dans la rubrique, que la durée du lot est de 30 secondes et que la durée du lot est de 30 secondes. spark.streaming.kafka.maxRatePerPartition est de 1000, vous verrez 6000 (2 * 30 * 1000) enregistrements par lot.

Il pourrait être utile d'activer également spark.streaming.backpressure.enabled pour avoir un taux plus adaptatif basé sur le temps pris pour traiter un lot.

Plus d'infos sur le fonctionnement de kafka direct stream sous le capot

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