Gobblin группировки рабочих единиц для Кафки источник

В разделе https://gobblin.readthedocs.io/en/latest/case-studies/Kafka-HDFS-Ingestion/ документации Gobblin мы можем прочитать об одноуровневой упаковке со следующим описанием.

Одноуровневый упаковщик использует подход с наихудшим уменьшением соответствия для назначения рабочих мест мапперам: каждый рабочий юнит идет к мапперу, который в настоящее время имеет самую легкую нагрузку. Этот подход хорошо уравновешивает картографов. Однако несколько разделов одной и той же темы обычно назначаются разным сопоставителям. Это может вызвать две проблемы: (1) множество небольших выходных файлов: если несколько разделов темы назначены разным сопоставителям, они не могут совместно использовать выходные файлы. (2) накладные расходы задачи: когда несколько разделов темы назначаются разным сопоставителям, для каждого раздела создается задача, что может привести к большому количеству задач и большим накладным расходам.

Второй заголовок, кажется, противоречит тому, что мы можем прочитать в других частях. На один абзац выше мы можем красным

Для каждого раздела после определения первого и последнего смещений создается рабочая группа.

и вот https://gobblin.readthedocs.io/en/latest/Gobblin-Architecture/ в пункте 3:

Из набора WorkUnits, предоставленных источником, задание создает набор задач. Задача является аналогом WorkUnit времени выполнения, который представляет собой логическую единицу работы. Обычно задача создается в WorkUnit

Итак, для того, что я понимаю, всегда есть задача, связанная с разделом Kafka, если WorkUnits не сгруппированы вместе (тогда у нас есть одна задача для многих WorkUnits, таким образом, много разделов)

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

0 ответов

Другие вопросы по тегам