Поделиться через


Прием заданий в Apache Spark для Microsoft Fabric

Область применения:✅ Инжиниринг данных и Обработка и анализ данных в Microsoft Fabric

Apache Spark для Fabric использует метод оптимистического приема заданий для определения минимального основного требования для заданий Spark. Этот процесс применим к интерактивным или пакетным заданиям из записных книжек, озерных домов или определений заданий Spark. Он зависит от минимального параметра узла выбранного пула Spark в параметрах рабочей области или подключенной среде. Если доступные ядра находятся в емкости Fabric, связанной с рабочей областью, задание принимается и начинается выполнение. Задания запускают с помощью минимального параметра узла и могут масштабироваться в пределах своих максимальных ограничений узлов на каждом этапе задания. Если общее число ядер, используемых при выполнении заданий с использованием емкости Fabric, ниже максимального числа ядер, назначенных, уровень допуска и регулирования заданий в Fabric Spark позволяет масштабировать задание.

Дополнительные сведения см. в разделе об ограничениях параллелизма и очередях в Microsoft Fabric Spark.

Как работает оптимистическое прием заданий?

В Fabric начальные пулы по умолчанию входят как минимум один узел, а настраиваемые пулы позволяют задавать минимальные узлы в зависимости от потребностей рабочей нагрузки. Автомасштабирование настраивает требования к вычислениям для заданий Spark во время этапов выполнения в пределах настроенных минимальных и максимальных узлов. Оптимистическое прием заданий оценивает отправки заданий на основе доступных ядер и выполняет их с минимальными ядрами. Задания пытаются увеличиться на основе максимального выделенного узла во время выполнения. Запросы на масштабирование утверждены, если используются общие ядра Spark, находятся в пределах выделенных ограничений емкости.

Примечание.

Если использование достигает максимального предела, а все ядра в общей емкости Fabric используются, все запросы на масштабирование будут отклонены. Активные задания должны быть завершены или отменены, чтобы освободить ядра.

Как это влияет на параллелизм заданий?

Минимальное основное требование для каждого задания определяет, можно ли принять задание. Если емкость полностью используется и не имеет ядер, оставленных для выполнения минимальных основных потребностей задания, задание отклоняется. Интерактивные задания записной книжки или операции Lakehouse будут заблокированы с сообщением об ошибке , не удается отправить этот запрос, так как в настоящее время используется все доступные ресурсы. Отмените текущее задание, увеличьте доступную емкость или повторите попытку позже. Пакетные задания помещаются в очередь и выполняются после того, как ядра становятся доступными.

Например, рассмотрим сценарий с пользователем, использующим SKU емкости Fabric F32. Если все задания используют настройку начального пула по умолчанию без оптимистического допуска задания, емкость будет поддерживать максимальное параллелизм трех заданий. Максимальное количество ядер на задание выделяется в соответствии с конфигурацией максимальных узлов.

Снимок экрана: параллелизм заданий без оптимистического приема заданий в Fabric Spark.

При оптимистическом приеме заданий с той же емкостью, что и выше, 24 задания можно признать и выполнить с помощью минимальной конфигурации узла во время сценария максимального параллелизма. Так как для каждого задания требуется 8 виртуальных ядер Spark, где одна минимальная конфигурация узла имеет средний размер.

Снимок экрана: параллелизм задания с оптимистическим приемом заданий в Fabric Spark.

Масштабирование заданий с помощью автомасштабирования Spark

При включении автомасштабирования для пулов Spark задания выполняются с минимальной конфигурацией узла. Во время выполнения может произойти масштабирование. Эти запросы проходят через контроль допуска заданий. Утвержденные запросы масштабируются до максимальных ограничений на основе общих доступных ядер. Отклоненные запросы не влияют на активные задания; Они продолжают работать с текущей конфигурацией до тех пор, пока ядра не становятся доступными.

Снимок экрана: масштабирование задания с оптимистическим приемом заданий в Fabric Spark.

Примечание.

Чтобы обеспечить максимальное выделение ядра для задания в соответствии с конфигурацией максимальных узлов, отключите автомасштабирование и задайте максимальные узлы в SKU емкости Fabric. В этом случае, так как задание не имеет минимального требования к ядрам, оно начнет работать после того, как бесплатные ядра будут доступны, масштабирование до настроенного общей суммы. Если емкость полностью используется, интерактивные задания записной книжки могут замедляться или помещается в очередь. Задания в очереди автоматически извлекаются по мере того, как ядра становятся доступными.