Приемник на основе API-интерфейсов высокого уровня Kafka Consumer
Здесь новая (микро) партия создается в каждом интервале (скажем, 5 секунд), скажем, с 5 разделами (=> 1-секундный интервал блока) с помощью задачи Приемник и передается по потоку Обычный задач.
Вопрос: Рассматривая наш пример, где каждая микробатка создается каждые 5 секунд;имеет ровно 5 разделов, и все эти разделы всех микробасов должны быть точно одинаково обработаны DAG вниз по потоку, это одна и та же обычная задача, многократно используемая для одного и того же идентификатора раздела каждогомикробатч (RDD) как долгосрочное задание?например,
Если ubatch1 разделов (P1, P2, P3, P4, P5) в момент T0 назначено идентификаторам задач (T1, T2, T3, T4, T5) , будет ubatch2 разделов (P1 ', P2', P3 ', P4', P5 ') во время T5 также назначается для того же набора задач (T1, T2, T3, T4, T5) или будут новые задачи (T6, T7, T8, T9, T10) быть создан для ubatch2 ?
Если последнее так, то не будет ли это чрезмерной производительностью, если каждые 5 секунд отправлять новые задания по сети исполнителям, когда вы уже знаете, что есть задачи, выполняющие точно такую же функцию иповторно используется как долго выполняемые задачи?
Direct с использованием низкоуровневых API-интерфейсов Kafka
Здесь разделы Kafka отображаютсяк разделу искры и, следовательно, задача.Опять же, рассматривая 5 разделов Kafka для темы t , мы получаем 5 разделов Spark и соответствующие им задачи.
Вопрос: Скажите, у ubatch1 в T0 есть разделы (P1, P2, P3, P4, P5) назначен задачам (T1, T2, T3, T4, T5). Будет ubatch2 разделов (P1 ', P2', P3 ', P4', P5 ') во время T5 также назначается для того же набора задач (T1, T2, T3, T4, T5) или будут новые задачи (T6, T7, T8, T9, T10) будет создано для ubatch2 ?