Как запустить несколько пакетных заданий для потоковой передачи одновременно? - PullRequest
0 голосов
/ 31 августа 2018

Я использую потоковую обработку для обработки данных в Spark 2.1.0.

9 получателей получают данные с 10-секундными интервалами в потоковом режиме. Среднее время обработки составляет около 10 секунд с тех пор, как я отправил потоковое приложение. Однако партии с очередями задерживаются более чем на один день.

Есть ли очередь в драйвере? Или это в каждом приемнике-исполнителе?

А при активной пакетной обработке обрабатывается только одна реальная партия данных, кроме 9 получателей. Таким образом, всегда есть только 10 запущенных партий.

Я спрашиваю, как увеличить количество активных пакетов, обрабатывающих данные.

И только одно потоковое пакетное задание одновременно. Я установил для spark.scheduler.mode значение FAIR в SparkConf и настроил пул расписаний на справедливый, но пакетное задание выполняется только по одному за раз.

В руководстве по планированию заданий на поставку справедливый пул должен работать как FIFO в том же пуле. Это правильно?

Как запустить несколько пакетных заданий потоковой передачи одновременно?

  • режим работы с клиентом в режиме потоковой искры
  • 8 узлов кластера, 1 узел: 32core, 128G
  • executor_memory: 6 г
  • executor_cores: 4
  • Память драйвера: 4g
  • sparkConf.set ("spark.scheduler.mode", "FAIR")
  • ssc.sparkContext.setLocalProperty ( "spark.scheduler.pool", "Производство")
  • продукция ЯРКОГО пула
  • sparkConf.set ("spark.dynamicAllocation.enabled", false)
...