Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье сравниваются Azure Synapse Spark и Fabric Spark в пулах Spark, конфигурациях, библиотеках, записных книжках и определениях заданий Spark (SJD).
Для обзора, сосредоточенного на Delta Lake и Lakehouse (включая форматы таблиц по умолчанию и параметры времени выполнения по умолчанию), подробности см. в таблицах Lakehouse и Delta Lake.
| Категория | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Пулы Spark | Кластер Spark - - |
Начальный пул (предварительно разогретый) / Настраиваемый пул V-Order Высокая степень параллелизма |
| Конфигурации Spark | Уровень пула Уровень спецификации задания для Notebook или Spark |
Уровень среды Уровень задания Notebook или определения задания Spark |
| Библиотеки Spark | Пакеты уровня рабочей области Пакеты уровня пула Встроенные пакеты |
- Библиотеки среды Встроенные библиотеки |
| Ресурсы | Записная книжка (Python, Scala, Spark SQL, R, .NET) Определение задания Spark (Python, Scala, .NET) Конвейеры Synapse Действия конвейера (записная книжка, определение задания Spark) |
Записная книжка (Python, Scala, Spark SQL, R) Определение задания Spark (Python, Scala, R) Конвейеры Data Factory Действия конвейера (записная книжка, определение задания Spark) |
| Данные | Основное хранилище (ADLS второго поколения) Расположение данных (на основе кластера или региона) |
Основное хранилище (OneLake) Местоположение данных (на основе емкости или региона) |
| Метаданные | Внутреннее хранилище метаданных Hive (HMS) Внешний HMS (использование Azure SQL DB) |
Внутренний HMS (lakehouse) - |
| Связи | Тип соединителя (подключенные службы) Данные источники Соединение источника данных идентификатор рабочей области |
Тип соединителя (службы перемещения и трансформации данных) Данные источники - |
| Безопасность | RBAC и контроль доступа Storage ACL списки управления доступом (ADLS Gen2) Приватные ссылки Управляемая виртуальная сеть для сетевой изоляции Идентификатор рабочей области Synapse Защита от кражи данных (DEP) Служебные теги Key Vault (через mssparkutils/связанную службу) |
RBAC и контроль доступа OneLake RBAC Частные ссылки Управляемая виртуальная сеть (VNet) Идентификация рабочей области Правила брандмауэра IP-адресов рабочей области Защита исходящего доступа Теги служб Key Vault (через notebookutils) |
| DevOps | интеграция Azure DevOps CI/CD (отсутствие встроенной поддержки) |
интеграция Azure DevOps конвейеры развертывания Расширение CLI Fabric и Azure DevOps Pipelines |
| Опыт разработчика | Интеграция интегрированной среды разработки (IntelliJ) Пользовательский интерфейс Synapse Studio Совместная работа (пространства для работы) Livy API API/SDK mssparkutils |
Интеграция интегрированной среды разработки (VS Code) Пользовательский интерфейс Fabric Совместная работа (рабочие области и общий доступ) API Livy API/SDK notebookutils |
| Ведение журналов и мониторинг | Помощник по Spark Встроенные пулы мониторинга и задания (через Synapse Studio) Сервер истории Spark Prometheus/Grafana Аналитика логов Учетная запись хранилища Event Hubs |
Помощник по Spark Встроенные пулы и задания мониторинга (через Центр мониторинга) Сервер истории Spark - Log Analytics Аккаунт хранения Центры событий Приложение метрик емкости |
| Непрерывность бизнес-процессов и аварийное восстановление (BCDR) | BCDR (data) ADLS 2-го поколения | BCDR (data) OneLake |
Когда выбрать: используйте Fabric Spark для единой аналитики с хранилищем OneLake, встроенными конвейерами CI/CD и масштабированием, основанным на емкости. Используйте Azure Synapse Spark, если вам нужны пулы с ускорением GPU, внешнее хранилище метаданных Hive или JDBC.
Ключевые ограничения в Fabric
- DMTS в записных книжках: службы перемещения и преобразования данных не могут использоваться в записных книжках или определениях заданий Spark
- Managed identity for Key Vault: не поддерживается в записных книжках
- Внешнее хранилище метаданных Hive: не поддерживается
- Ускоряемые GPU пулы: недоступны
- .NET для Spark (C#): не поддерживается
Дополнительные соображения по Fabric
- Уровень рабочей нагрузки RBAC: Fabric поддерживает четыре роли рабочей области. Дополнительные сведения см. в разделе "Роли в рабочих областях".
- CI/CD: используйте API и пакет SDK Fabric, интерфейс командной строки Fabric и конвейеры развертывания. Интеграция Fabric Git также поддерживает выборочное ветвление и встроенные представления диффа для изменений элементов.
Сравнение пула Spark
В следующей таблице сравниваются пулы Spark в Azure Synapse и Fabric Spark.
| Параметр Spark | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Динамический пул (предварительно теплые экземпляры) | - | Да, стартовый пул |
| Настраиваемый пул | Да | Да |
| Версии Spark (среда выполнения) | 2.4, 3.1, 3.2, 3.3, 3.4 | 3.4, 3.5, 4.0 |
| Автомасштабирование | Да | Да |
| Динамическое выделение исполнителей | Да, до 200 | Да, на основе емкости |
| Настраиваемые размеры узлов | Да, 3-200 | Да, 1 на основе емкости |
| Минимальная конфигурация узла | 3 узла | 1 узел |
| Семейство размеров узла | Оптимизированное использование памяти, ускорение на базе GPU | Оптимизировано для памяти |
| Размер узла | Small-XXXLarge | Small-XXLarge |
| Автоматическая приостановка работы | Да, настраиваемое минимальное время 5 минут | Да, неконфигурируемо, 2 минуты |
| Высокая конкурентность | Нет | Да |
| V-Order | Нет | Да |
| Автоподбор параметров Spark | Нет | Да |
| Собственный движок выполнения | Нет | Да |
| Пределы параллелизма | Исправлено | Переменная на основе емкости |
| Несколько пулов Spark | Да | Да (среды) |
| Интеллектуальный кэш | Да | Да |
| Поддержка API/SDK | Да | Да |
- Среда выполнения. Структура не поддерживает Spark 3.3 и более ранние версии. Fabric Spark поддерживает Spark 3.4 с Delta 2.4 в среде выполнения 1.2, Spark 3.5 с Delta 3.1 в среде выполнения 1.3 и Spark 4.0 с Delta 4.0 в среде выполнения 2.0.
Когда выбирать: используйте пулы Spark Fabric для быстрого запуска (стартовых пулов), заданий с одним узлом, сеансов с высокой степенью параллелизма и оптимизации V-Order. Используйте Azure Synapse пулы, если требуется ускорение GPU или фиксированное масштабирование до 200 узлов.
Общие сведения о моделях пула Spark
Azure Synapse и Fabric используют принципиально разные модели пула:
Azure Synapse: пул Spark — это фиксированный вычислительный ресурс с максимальным числом узлов. Каждое задание (например, из записной книжки или определение задачи Spark) выделяет кластер в пуле. Пул определяет верхнюю границу узлов, доступных во всех запущенных артефактах.
Структура. Пул Spark — это шаблон конфигурации, а не фиксированный ресурс вычислений. Каждый артефакт подготавливает собственный кластер, но размер ограничен виртуальными ядрами емкости, а не свойством максимального размера пула. Высококонкурентные сеансы позволяют артефактам совместно использовать сеанс или кластер.
| Аспект | Azure Synapse | Fabric |
|---|---|---|
| Что определяет общий объем вычислений? | Максимальные узлы пула | Емкость (vCores + аварийная мощность) |
| Что представляет пул? | Фактическая граница вычислений | Шаблон для создания кластера |
| Параллелизм ограничен | Количество узлов пула | Общая емкость vCores |
Практический пример: сравнение конкурентности
В следующей таблице сравнивается количество параллельных заданий, выполняемых в разных конфигурациях, при условии, что размер кластера — 1 драйвер + 6 рабочих ролей (7 узлов, 28 виртуальных ядер на задание) с небольшими узлами (4 виртуальных ядер).
| Единица измерения | Пул из 24 узлов Synapse | Fabric F16 (96 виртуальных ядер Spark) | Fabric F32 (192 виртуальных ядра Spark) |
|---|---|---|---|
| Граница вычислений | 24 узла | 32 виртуальных ядер × 3 пиковые нагрузки = 96 виртуальных ядер | 64 виртуальных ядер × 3 фазы ускорения = 192 виртуальных ядер |
| Максимальное число параллельных заданий | 3 (использует 21 узлы) | 3 (использует 84 виртуальных ядер) | 6 (использует 168 виртуальных ядер) |
| Оставшаяся емкость | 3 узла | 12 виртуальных ядер | 24 виртуальных ядра |
| Ограничение очереди | 200 на пул | 16 на единицу емкости | 32 на единицу емкости |
Дополнительные сведения о вместимости и параллелизме Fabric см. в разделе Ограничения параллелизма и очереди.
Версии среды выполнения Spark
Поддерживаемые версии Fabric Spark:
- Spark 3.3 / Delta 2.2: Runtime 1.1
- Spark 3.4 / Delta 2.4: среда выполнения 1.2
- Spark 3.5 / Delta 3.1: Среда выполнения 1.3
Fabric не поддерживает Spark 2.4, 3.1 или 3.2.
Настраиваемые размеры узлов
Azure Synapse кластеры Spark масштабируются до 200 узлов независимо от размера узла. В Fabric максимальное количество узлов зависит от размера узла и сконфигурированной емкости (SKU).
Преобразование емкости Fabric: 2 виртуальных ядра Spark = 1 единица емкости. Формула: общее количество виртуальных ядер в емкости ÷ виртуальных ядер на размер узла = максимальные доступные узлы.
Например, SKU F64 предоставляет 64 единиц емкости (128 виртуальных ядер Spark). В следующей таблице показаны ограничения узлов для F64:
| Размер пула Spark | Azure Synapse Spark | Fabric Spark (пользовательский пул, SKU F64) |
|---|---|---|
| Малый (4 виртуальных ядер) | Мин: 3, Макс: 200 | Мин: 1, Макс: 32 |
| Средний (8 vCPU) | Мин: 3, Макс: 200 | Мин: 1, Макс: 16 |
| Большие (16 виртуальных ядер) | Мин: 3, Макс: 200 | Мин: 1, Макс: 8 |
| X-Large (32 виртуальных ядер) | Мин: 3, Макс: 200 | Мин: 1, Макс: 4 |
| XX-Large (64 виртуальных ядер) | Мин: 3, Макс: 200 | Мин: 1, Макс: 2 |
Дополнительные сведения см. в разделе "Вычисления Spark".
Размеры узлов
Пулы Spark Fabric поддерживают только семейство оптимизированных для памяти узлов. Пулы с ускорением GPU, доступные в Azure Synapse, не поддерживаются в Fabric.
Сравнение размера узла (XX-Large):
- Azure Synapse: 432 ГБ памяти
- Структура: 512 ГБ памяти, 64 виртуальных ядер
Размеры узлов от Small до X-Large обладают идентичными виртуальными ядрами и объёмом памяти как в Azure Synapse, так и в Fabric.
Поведение автопаузы
Сравнение параметров автоматической паузы:
- Azure Synapse: настраиваемое время ожидания простоя, минимум 5 минут
- Fabric: исправлена 2-минутная автопауза после завершения сеанса (не настраиваемое), время ожидания сеанса по умолчанию — 20 минут.
Высокая конкурентность
Fabric поддерживает режим высокой конкуренции для рабочих тетрадей, позволяя нескольким пользователям совместно использовать один сеанс Spark. Azure Synapse не поддерживает эту функцию.
Пределы параллелизма
Ограничения Azure Synapse Spark (фиксированные):
- 50 параллельных заданий на пул, 200 заданий в очереди на пул
- 250 активных заданий на пул, 1000 на рабочее пространство
Ограничения Fabric Spark (на основе SKU):
- Одновременные задания зависят от SKU емкости: от 1 до 512 макс.
- Динамическое регулирование на основе резервирования управляет пиковой загрузкой
Дополнительные сведения см. в разделе Ограничения и очереди в Microsoft Fabric Spark.
Несколько пулов Spark
В Fabric используйте среды для конфигурирования и выбора разных пулов Spark для каждого ноутбука или определения задания Spark.
Примечание.
Узнайте, как мигрировать Spark-пулы Azure Synapse из Azure Synapse в Fabric.
Сравнение конфигураций Spark
Конфигурации Spark применяются на двух уровнях:
- Уровень среды: конфигурация по умолчанию для всех заданий Spark в среде
- Встроенный уровень: конфигурация сеанса в записных книжках или определениях заданий Spark
| Конфигурация Spark | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Уровень среды | Да, пулы | Да, среды |
| Встроенный | Да | Да |
| Импорт и экспорт | Да | Да (.yml из среды выполнения) |
| Поддержка API/SDK | Да | Да |
Когда выбрать: обе платформы поддерживают среду и встроенные конфигурации. Fabric использует среды вместо конфигураций уровня пула.
-
Встроенный синтаксис: в Fabric используется
spark.conf.set(<conf_name>, <conf_value>)для конфигураций на уровне сеанса. Для пакетных заданий используйте SparkConf. -
Неизменяемые конфигурации. Некоторые конфигурации Spark нельзя изменить. Сообщение об ошибке:
AnalysisException: Can't modify the value of a Spark config: <config_name> - V-Order: включен по умолчанию в среде Fabric; оптимизация времени записи для файлов Parquet. Смотрите V-Order.
- Optimized Write: включен по умолчанию в Fabric; отключен по умолчанию в Azure Synapse.
Примечание.
Узнайте, как перенести настройки Spark из Azure Synapse в Fabric.
Сравнение библиотек Spark
Библиотеки Spark применяются на трех уровнях:
- уровень Workspace: доступен только в Azure Synapse
- Уровень среды: библиотеки, доступные в среде для всех блокнотов и определений заданий Spark.
- Инлайн: библиотеки, специфичные для сеанса, устанавливаются при запуске записной книжки
| Библиотека Spark | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Уровень рабочей области | Да | Нет |
| Уровень среды | Да, пулы | Да, среды |
| Встроенный | Да | Да |
| Импорт и экспорт | Да | Да |
| Поддержка API/SDK | Да | Да |
Когда выбрать: обе платформы поддерживают среду и встроенные библиотеки. Структура не поддерживает пакеты уровня рабочей области.
- Встроенные библиотеки: Среды выполнения Fabric и Azure Synapse используют общие ядра Spark, но различаются версиями библиотек. Для некоторых кодов может потребоваться перекомпиляция или пользовательские библиотеки. См. библиотеки среды выполнения Fabric.
Примечание.
Узнайте, как мигрировать библиотеки Azure Synapse Spark на Fabric.
Сравнение ноутбуков
Записные книжки и определения заданий Spark — это основные элементы кода для разработки заданий Apache Spark в Fabric. Существуют некоторые различия между записными книжками Azure Synapse Spark и Fabric Spark:
| Функциональность блокнота | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Импорт и экспорт | Да | Да |
| Конфигурация сеанса | Да. Пользовательский интерфейс и встроенный интерфейс | Да. Пользовательский интерфейс (среда) и встроенный |
| IntelliSense | Да | Да |
| mssparkutils | Да | Да |
| Ресурсы ноутбука | Нет | Да |
| Совместная работа | Нет | Да |
| Высокая конкурентность | Нет | Да |
| .NET для Spark C# | Да | Нет |
| Поддержка работы конвейера | Да | Да |
| Встроенная поддержка запланированного запуска | Нет | Да |
| Поддержка API/SDK | Да | Да |
В каких случаях выбрать: использование записных книжек Fabric для совместной работы, сеансов с высокой параллельностью, встроенного планирования и ресурсов записных книжек. Используйте записные книжки Azure Synapse, если требуется .NET для Spark (C#).
-
notebookutils.credentials: только
getTokenиgetSecretподдерживаются в Fabric (подключения DMTS недоступны). - Ресурсы записной книжки: Структура предоставляет файловую систему, похожую на Unix, для управления файлами. Узнайте , как использовать записные книжки.
- Высокая параллельность: альтернатива ThreadPoolExecutor в Azure Synapse. См. раздел "Настройка режима высокой параллелизма".
- .NET для Spark: перенос рабочих нагрузок C#/F# на Python или Scala.
- Связанные службы: замените библиотеки Spark для подключений к внешнему источнику данных.
Примечание.
Узнайте, как перенести ноутбуки из Azure Synapse в Fabric.
Сравнение определений заданий Spark
Важные рекомендации по определению задания Spark:
| Возможности выполнения задач Spark | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| PySpark | Да | Да |
| Scala | Да | Да |
| .NET для Spark C# | Да | Нет |
| SparkR | Нет | Да |
| Импорт и экспорт | Да (пользовательский интерфейс) | Нет |
| Поддержка работы конвейера | Да | Да |
| Встроенная поддержка запланированного запуска | Нет | Да |
| политика повторных попыток | Нет | Да |
| Поддержка API/SDK | Да | Да |
Когда выбирать: использование определения заданий Spark Fabric для поддержки SparkR, встроенного планирования и политик повторных попыток. Используйте Azure Synapse, если требуется .NET для Spark (C#) или импорта и экспорта на основе пользовательского интерфейса.
- Поддерживаемые файлы: .py, . R и .jar файлы с ссылочными файлами, аргументами командной строки и ссылками lakehouse.
- Import/export: импорт и экспорт JSON на основе пользовательского интерфейса, доступный только в Azure Synapse.
- Политики повторных попыток: включение неопределенных запусков для заданий структурированной потоковой передачи Spark.
- .NET для Spark: перенос рабочих нагрузок C#/F# на Python или Scala.
Примечание.
Узнайте, как Мигрировать определения заданий Spark из Azure Synapse в Fabric.
Сравнение хранилища метаданных Hive (HMS)
| Тип HMS | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Внутренние системы HMS | Да | Да (lakehouse) |
| Внешняя система HMS | Да | Нет |
Когда выбрать: используйте Fabric, если внутренний HMS на основе озера соответствует вашим потребностям. Используйте Azure Synapse, если требуется внешнее хранилище метаданных Hive (Azure SQL DB) или доступ к каталогу API.
Примечание.
Узнайте, как перенести метаданные каталога Spark HMS в Azure Synapse в Fabric.
Связанный контент
- Дополнительные сведения о параметрах миграции для Spark пулов, конфигураций, библиотек, блокнотов и определений заданий Spark
- Перенос данных и конвейеров
- Перенос метаданных Hive Metastore