Что такое вычисления Spark в Microsoft Fabric?

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

Интерфейсы microsoft Fabric Инжиниринг данных и Обработка и анализ данных работают на полностью управляемой вычислительной платформе Spark. Эта платформа предназначена для обеспечения непарабельной скорости и эффективности. При использовании начальных пулов можно ожидать быструю инициализацию сеанса Spark, как правило, в течение 5–10 секунд без необходимости настройки вручную. Вы также получаете гибкость для настройки пулов Spark в соответствии с конкретными требованиями к проектированию и обработке и анализу данных. Платформа обеспечивает оптимизированную и адаптированную аналитику.

Изображение вычислительной платформы Spark с начальными пулами и настраиваемыми пулами Spark.

Начальные пулы

Начальные пулы — это быстрый и простой способ использования Spark на платформе Microsoft Fabric в течение нескольких секунд. Сеансы Spark можно использовать сразу, а не ожидать, пока Spark настроит узлы для вас, что поможет вам быстрее использовать данные и получить аналитические сведения.

Изображение таблицы с конфигурацией начального пула.

Начальные пулы имеют кластеры Spark, которые всегда включены и готовы к вашим запросам. Они используют средние узлы, которые динамически масштабируются на основе потребностей задания Spark.

Схема, показывающая высокоуровневую структуру начальных пулов.

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

Схема, на которой показаны высокоуровневые этапы выставления счетов начальных пулов.

Например, если вы отправляете задание записной книжки в начальный пул, плата взимается только за период времени, когда сеанс записной книжки активен. Оплачиваемое время не включает время простоя или время, затраченное на персонализацию сеанса с помощью контекста Spark.

Пулы Spark

Пул Spark — это способ рассказать Spark, какие ресурсы требуются для задач анализа данных. Вы можете указать имя пула Spark и выбрать, сколько и сколько узлов (компьютеры, которые выполняют эту работу). Вы также можете указать Spark, как настроить количество узлов в зависимости от того, сколько работ у вас есть. Создание пула Spark бесплатно; вы платите только при выполнении задания Spark в пуле, а затем Spark настраивает узлы для вас.

Если вы не используете пул Spark в течение 2 минут после истечения срока действия сеанса, пул Spark будет освобожден. Этот период срока действия сеанса по умолчанию имеет значение 20 минут, и его можно изменить, если вы хотите. Если вы являетесь администратором рабочей области, вы также можете создать настраиваемые пулы Spark для рабочей области и сделать их вариантом по умолчанию для других пользователей. Таким образом, вы можете сэкономить время и избежать настройки нового пула Spark при каждом запуске записной книжки или задания Spark. Запуск пользовательских пулов Spark занимает около трех минут, так как Spark должен получить узлы из Azure.

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

Размер и количество узлов, которые можно использовать в пользовательском пуле Spark, зависит от емкости Microsoft Fabric. Емкость — это мера того, сколько вычислительных ресурсов можно использовать в Azure. Один из способов подумать о том, что два виртуальных ядра Spark (единица вычислительной мощности для Spark) равны одной единице емкости. Например, номер SKU SKU Fabric F64 имеет 64 единиц емкости, что эквивалентно 128 виртуальным ядрам Spark. Эти виртуальные ядра Spark можно использовать для создания узлов разных размеров для пользовательского пула Spark, если общее количество виртуальных ядер Spark не превышает 128.

Счета за пулы Spark, такие как начальные пулы; Вы не платите за созданные настраиваемые пулы Spark, если у вас нет активного сеанса Spark, созданного для выполнения определения задания Spark или записной книжки. Плата взимается только за время выполнения задания. Плата за этапы, такие как создание кластера и размещение сделки после завершения задания, не взимается.

Схема, на которой показаны высокоуровневые этапы выставления счетов пользовательских пулов.

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

Возможные конфигурации настраиваемого пула для F64 на основе предыдущего примера:

Номер SKU емкости Fabric Единицы емкости Виртуальные ядра Spark Размер узла Максимальное количество узлов
F64 64 384 Небольшой 96
F64 64 384 Средняя 48
F64 64 384 Большой 24
F64 64 384 Очень крупный 12
F64 64 384 XX-large 6

Примечание.

Для создания настраиваемых пулов требуется разрешение администратора для рабочей области. А администратор емкости Microsoft Fabric должен предоставить разрешения, чтобы разрешить администраторам рабочей области размер пользовательских пулов Spark. Дополнительные сведения см. в статье "Начало работы с пользовательскими пулами Spark в Fabric"

Узлы

Экземпляр пула Apache Spark состоит из одного головного узла и рабочих узлов, может запустить как минимум один узел в экземпляре Spark. Головной узел запускает дополнительные службы управления, такие как Livy, Yarn Resource Manager, Zookeeper и драйвер Spark. Все узлы запускают такие службы, как "агент узла" и "диспетчер ресурсов Yarn". Все рабочие узлы запускают службу "исполнитель Spark".

Размеры узлов

Пул Spark можно определить с размерами узлов, которые варьируются от небольшого вычислительного узла (с 4 виртуальными ядрами и 32 ГБ памяти) до большого вычислительного узла (с 64 виртуальными ядрами и 512 ГБ памяти на узел). Размеры узлов можно изменить после создания пула, хотя активный сеанс должен быть перезапущен.

Размер Виртуальное ядро Память
Небольшой 4 32 Гб
Средние 8 64 ГБ
Большой 16 128 ГБ
Очень крупный 32 256 ГБ
XX-large 64 512 ГБ

Автомасштабирование

Функция автомасштабирования в пулах Apache Spark позволяет вертикально увеличивать и уменьшать количество вычислительных ресурсов в зависимости от объема операций. При включении функции автомасштабирования необходимо задать минимальное и максимальное количество узлов для масштабирования. При отключении функции автомасштабирования количество узлов остается фиксированным. Этот параметр можно изменить после создания пула, хотя может потребоваться перезапустить экземпляр.

Примечание.

По умолчанию для spark.yarn.executor.decommission.enabled задано значение true, что позволяет автоматически завершить работу недоиспользуемых узлов для оптимизации эффективности вычислений. Если предпочтителен менее агрессивный масштабирование, эта конфигурация может иметь значение false.

Динамическое распределение

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

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