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 ?
Réponse
Trop de publicités?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