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, таким образом, много разделов)
Я понимаю, что здесь что-то не так или вторые накладные расходы в одноуровневой упаковке не имеют смысла?