Потоковая передача Spark Kafka — при обработке пакета возникает большая задержка

#apache-kafka #spark-streamin&

#apache-kafka #потоковая передача spark

Вопрос:

Я запускаю потоковую передачу spark с помощью программы kafka для подсчета слов, при создании и обработке пакета возникает большая задержка — около 2 минут для каждого пакета. Как я мог бы сократить это время? Существуют ли какие-либо свойства, которые необходимо настроить так, чтобы они были максимально быстрыми — например, свойства на уровне потоковой передачи spark или на уровне kafka ?

Ответ №1:

вы должны определить интервал между каждым пакетом в вашем неструктурированном Streamin&Context, например :

 val ssc = Streamin&Context(new SparkConf(), Minutes(1))
  

в структурированной потоковой передаче у вас есть опция: KafkaConsumer.pollTimeoutMs

при значении по умолчанию 512 мс дополнительная информация: https://spark.apache.or&/docs/latest/structured-streamin&-kafka-inte&ration.html

Другая проблема может возникнуть из-за задержки kafka. вашему приложению может потребоваться много времени для обработки определенного смещения, возможно, 2 минуты, поэтому, как только это смещение завершится, оно опросит другие для обработки. Попробуйте посмотреть на текущее смещение вашей группы потребителей и последнее смещение вашей темы.

Комментарии:

1. Просто хотел убедиться, что это потоковая передача spark с kafka. Фрагмент кода не имеет отношения к делу. Укажите мне на конкретное свойство