[New to Spark]
У нас есть приложение Spark Streaming, которое читает из Kinesis и пишет в Redshift.
Конфигурация
Количество получателей = 5
Пакетный интервал = 10 минут
spark.streaming.receiver.maxRate = 2000 (записей в секунду)
В соответствии с этой конфигурацией максимальное количество записей, которые можно прочитать в одной партии, можно рассчитать по следующей формуле:
Max records per batch = batch_interval * 60 (convert mins to seconds) * 5 (number of receivers) * 2000 (max records per second per receiver)
10 * 60 * 5 * 2000 = 6,000,000
Но фактическое количество записей превышает максимальное число.
Партия I - 6 005 886 записей
Партия II - 6 001 623 записей
Пакет III - 6 010 148 записей
Обратите внимание, что приемники даже не читают с максимальной скоростью, количество записей, считываемых одним приемником, составляет около 1900 в секунду.
Почему это происходит?