Сравнение Инжиниринг данных Fabric и Azure Synapse Spark
Это сравнение между Инжиниринг данных Fabric и Azure Synapse Spark содержит сводку ключевых функций и подробный анализ различных категорий, включая пулы Spark, конфигурацию, библиотеки, записные книжки и определения заданий Spark.
В следующей таблице сравниваются Azure Synapse Spark и Fabric Spark в разных категориях:
Категория | 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 Действия конвейера (записная книжка, SJD) |
Записная книжка (Python, Scala, Spark SQL, R) Определение задания Spark (Python, Scala, R) Конвейеры данных фабрики данных Действия конвейера (записная книжка, SJD) |
Data | Основное хранилище (ADLS 2-го поколения) Расположение данных (на основе кластера или региона) |
Основное хранилище (OneLake) Расположение данных (емкость или регион) |
Метаданные | Внутреннее хранилище метаданных Hive (HMS) Внешний HMS (с помощью базы данных SQL Azure) |
Внутренний HMS (lakehouse) - |
Связи | Тип соединителя (связанные службы) Источники данных Конн источника данных. с удостоверением рабочей области |
Тип соединителя (DMTS) Источники данных - |
Безопасность | RBAC и управление доступом Списки управления доступом хранилища (ADLS 2-го поколения) Приватный канал Управляемая виртуальная сеть (сетевая изоляция) Удостоверение рабочей области Synapse Защита от кражи данных (DEP) Теги служб Key Vault (через mssparkutils/ связанную службу) |
RBAC и управление доступом OneLake RBAC Приватный канал Управляемая виртуальная сеть Удостоверение рабочей области - Теги служб Key Vault (с помощью notebookutils) |
DevOps | Интеграция Azure DevOps CI/CD (встроенная поддержка не поддерживается) |
Интеграция Azure DevOps Конвейеры развертывания |
Режим разработчика | Интеграция интегрированной среды разработки (IntelliJ) Пользовательский интерфейс Synapse Studio Совместная работа (рабочие области) Livy API API/SDK mssparkutils |
Интеграция интегрированной среды разработки (VS Code) Пользовательский интерфейс Fabric Совместная работа (рабочие области и общий доступ) API Livy API/SDK notebooktutils |
Ведение журналов и мониторинг | Помощник по Spark Встроенные пулы мониторинга и задания (через Synapse Studio) Сервер журнала Spark Prometheus/Grafana Log Analytics Учетная запись хранения Event Hubs |
Помощник по Spark Встроенные пулы мониторинга и задания (через центр мониторинга) Сервер журнала Spark - Анализ журналов Учетная запись хранения Центры событий |
Непрерывность бизнес-процессов и аварийное восстановление (BCDR) | BCDR (data) ADLS 2-го поколения | BCDR (data) OneLake |
Рекомендации и ограничения:
Интеграция DMTS. Вы не можете использовать DMTS с помощью записных книжек и определений заданий Spark.
Уровень рабочей нагрузки RBAC: Fabric поддерживает четыре разные роли рабочей области. Дополнительные сведения см. в разделе "Роли в рабочих областях" в Microsoft Fabric.
Управляемое удостоверение. В настоящее время Fabric не поддерживает выполнение записных книжек и определений заданий Spark с помощью удостоверения рабочей области или управляемого удостоверения для Azure KeyVault в записных книжках.
CI/CD. Вы можете использовать конвейеры API и пакета SDK для Fabric.
Дополнительные рекомендации.
- JDBC: поддержка подключения JDBC в настоящее время недоступна в Fabric.
Сравнение пула Spark
В следующей таблице сравниваются пулы Azure Synapse Spark и Fabric Spark.
Параметр Spark | Azure Synapse Spark | Fabric Spark |
---|---|---|
Динамический пул (предварительно теплые экземпляры) | - | Да, начальные пулы |
Настраиваемый пул | Да | Да |
Версии Spark (среда выполнения) | 2.4, 3.1, 3.2, 3.3, 3.4 | 3.3, 3.4, 3.5 |
Автомасштабирование | Да | Да |
Динамическое выделение исполнителей | Да, до 200 | Да, на основе емкости |
Настраиваемые размеры узлов | Да, 3-200 | Да, 1 на основе емкости |
Минимальная конфигурация узла | 3 узла | 1 узел |
Семейство размеров узла | Оптимизировано для памяти, ускорение GPU | С оптимизацией для операций в памяти |
Размер узла | Small-XXXLarge | Small-XXLarge |
Автоматическая приостановка работы | Да, настраиваемый минимум 5 минут | Да, неискусно 2 минуты |
Высокая степень параллелизма | No | Да |
V-Order | No | Да |
Автозапуск Spark | No | Да |
Собственный обработчик выполнения | No | Да |
Пределы параллелизма | Фиксированный | Переменная на основе емкости |
Несколько пулов Spark | Да | Да (среды) |
Интеллектуальный кэш | Да | Да |
Поддержка API/SDK | Да | Да |
Среда выполнения. Структура не поддерживает версии Spark 2.4, 3.1 и 3.2. Fabric Spark поддерживает Spark 3.3 с Delta 2.2 в среде выполнения 1.1, Spark 3.4 с Delta 2.4 в среде выполнения 1.2 и Spark 3.5 с Delta 3.1 в среде выполнения 1.3.
Автомасштабирование. В Azure Synapse Spark пул может масштабировать до 200 узлов независимо от размера узла. В Fabric максимальное количество узлов подвергается размеру узла и подготовленной емкости. См. следующий пример для номера SKU F64.
Размер пула Spark Azure Synapse Spark Fabric Spark (пользовательский пул, SKU F64) Небольшой Мин: 3, Макс: 200 Мин: 1, Макс: 32 Средняя Мин: 3, Макс: 200 Мин: 1, Макс: 16 Большой Мин: 3, Макс: 200 Мин: 1, Макс: 8 Очень крупный Мин: 3, Макс: 200 Мин: 1, Макс: 4 XX-large Мин: 3, Макс: 200 Мин: 1, Макс: 2 Настраиваемые размеры узлов: в Azure Synapse Spark можно перейти до 200 узлов. В Fabric количество узлов, которые можно использовать в пользовательском пуле Spark, зависит от размера узла и емкости Fabric. Емкость — это мера того, сколько вычислительных ресурсов можно использовать в Azure. Один из способов подумать о том, что два виртуальных ядра Spark (единица вычислительной мощности для Spark) равны одной единице емкости. Например, номер SKU SKU SKU Fabric F64 имеет 64 единиц емкости, что эквивалентно 128 виртуальным ядрам Spark. Таким образом, если выбрать небольшой размер узла, в пуле может быть до 32 узлов (128/4 = 32). Затем общее количество виртуальных ядер в емкости и виртуальных ядрах на каждый размер узла = общее количество доступных узлов. Дополнительные сведения см. в разделе "Вычисления Spark".
Семейство размеров узлов: пулы Fabric Spark поддерживают только семейство размеров узлов, оптимизированных для памяти. Если вы используете пул Spark с ускорением GPU в Azure Synapse, они недоступны в Fabric.
Размер узла: размер хх-большого узла поставляется с 432 ГБ памяти в Azure Synapse, в то время как тот же размер узла имеет 512 ГБ в Fabric, включая 64 виртуальных ядер. Остальные размеры узлов (небольшие по размеру x) имеют одинаковые виртуальные ядра и память в Azure Synapse и Fabric.
Автоматическое приостановка. Если включить его в Azure Synapse Spark, пул Apache Spark автоматически приостанавливается после указанного времени простоя. Этот параметр настраивается в Azure Synapse (минимум 5 минут), но настраиваемые пулы имеют неукусируемую автоматическую настройку по умолчанию длительностью 2 минуты в Fabric после истечения срока действия сеанса. Срок действия сеанса по умолчанию — 20 минут в Fabric.
Высокая параллелизм: Fabric поддерживает высокую параллельность в записных книжках. Дополнительные сведения см. в режиме высокой параллелизма в Fabric Spark.
Ограничения параллелизма: с точки зрения параллелизма Azure Synapse Spark имеет ограничение в 50 одновременных заданий для пула Spark и 200 заданий в очереди на пул Spark. Максимальное количество активных заданий составляет 250 на пул Spark и 1000 на рабочую область. В Microsoft Fabric Spark номера SKU емкости определяют ограничения параллелизма. Номера SKU имеют различные ограничения на максимальное число параллельных заданий, которые варьируются от 1 до 512. Кроме того, Fabric Spark имеет динамическую систему регулирования на основе резервирования для управления параллелизмом и обеспечения плавной работы даже во время пикового использования. Дополнительные сведения см. в разделе об ограничениях параллелизма и очередях в емкостях Microsoft Fabric Spark и Fabric.
Несколько пулов Spark: если требуется несколько пулов Spark, используйте среды Fabric для выбора пула по записной книжке или определению задания Spark. Дополнительные сведения см. в статье "Создание, настройка и использование среды в Microsoft Fabric".
Примечание.
Узнайте, как перенести пулы Azure Synapse Spark в Fabric.
Сравнение конфигураций Spark
Конфигурации Spark можно применять на разных уровнях:
- Уровень среды. Эти конфигурации используются в качестве конфигурации по умолчанию для всех заданий Spark в среде.
- Встроенный уровень. Настройка конфигураций Spark встроенных с помощью записных книжек и определений заданий Spark.
Хотя оба варианта поддерживаются в Azure Synapse Spark и Fabric, существуют некоторые рекомендации.
Конфигурация Spark | Azure Synapse Spark | Fabric Spark |
---|---|---|
Уровень среды | Да, пулы | Да, среды |
Встроенный | Да | Да |
Импорт и экспорт | Да | Да (.yml из сред) |
Поддержка API/SDK | Да | Да |
Уровень среды. В Azure Synapse можно определить несколько конфигураций Spark и назначить их разным пулам Spark. Это можно сделать в Fabric с помощью сред.
Встроенное. В Azure Synapse записные книжки и задания Spark поддерживают присоединение различных конфигураций Spark. В Fabric конфигурации уровня сеанса настраиваются с
spark.conf.set(<conf_name>, <conf_value>)
помощью параметра. Для пакетных заданий можно также применять конфигурации с помощью SparkConf.Импорт и экспорт. Этот параметр для конфигураций Spark доступен в средах Fabric.
Дополнительные рекомендации.
-
Неизменяемые конфигурации Spark: некоторые конфигурации Spark являются неизменяемыми. Если вы получите сообщение
AnalysisException: Can't modify the value of a Spark config: <config_name>
, то свойство под вопросом неизменяемо. - Планировщик FAIR: планировщик FAIR используется в режиме высокой параллелизма.
- V-Order: V-Order — это оптимизация времени записи, применяемая к файлам parquet, включенным по умолчанию в пулах Fabric Spark.
- Оптимизированная запись: оптимизированная запись отключена по умолчанию в Azure Synapse, но включена по умолчанию для Fabric Spark.
-
Неизменяемые конфигурации Spark: некоторые конфигурации Spark являются неизменяемыми. Если вы получите сообщение
Примечание.
Узнайте, как перенести конфигурации Spark из Azure Synapse в Fabric.
Сравнение библиотек Spark
Библиотеки Spark можно применять на разных уровнях:
- Уровень рабочей области. Вы не можете отправлять и устанавливать эти библиотеки в рабочую область, а затем назначать их определенному пулу Spark в Azure Synapse.
- Уровень среды: вы можете отправлять и устанавливать библиотеки в среду. Библиотеки уровня среды доступны для всех записных книжек и определений заданий Spark, работающих в среде.
- Встроенные. Помимо библиотек уровня среды можно также указать встроенные библиотеки. Например, в начале сеанса записной книжки.
Рекомендации:
Библиотека Spark | Azure Synapse Spark | Fabric Spark |
---|---|---|
Уровень рабочей области | Да | No |
Уровень среды | Да, пулы | Да, среды |
Встроенный | Да | Да |
Импорт и экспорт | Да | Да |
Поддержка API/SDK | Да | Да |
-
Другие рекомендации.
- Встроенные библиотеки: Fabric и Azure Synapse используют общее ядро Spark, но они могут немного отличаться в разной поддержке библиотек среды выполнения. Как правило, использование кода совместимо с некоторыми исключениями. В этом случае пользователям может потребоваться компиляция, добавление пользовательских библиотек и настройка синтаксиса. Дополнительные сведения см. в встроенных библиотеках среды выполнения Spark Fabric.
Примечание.
Узнайте, как перенести библиотеки Azure Synapse Spark в Fabric.
Сравнение записных книжек
Записные книжки и определения заданий Spark — это основные элементы кода для разработки заданий Apache Spark в Fabric. Существуют некоторые различия между записными книжками Azure Synapse Spark и записными книжками Fabric Spark:
Возможность записной книжки | Azure Synapse Spark | Fabric Spark |
---|---|---|
Импорт и экспорт | Да | Да |
Конфигурация сеанса | Да, пользовательский интерфейс и встроенный интерфейс | Да, пользовательский интерфейс (среда) и встроенный интерфейс |
IntelliSense | Да | Да |
mssparkutils | Да | Да |
Ресурсы записной книжки | No | Да |
Совместная работа | No | Да |
Высокая степень параллелизма | No | Да |
.NET для Spark C# | Да | No |
Поддержка действий конвейера | Да | Да |
Встроенная поддержка запланированного запуска | No | Да |
Поддержка API/SDK | Да | Да |
mssparkutils: так как подключения DMTS еще не поддерживаются в Fabric, но поддерживаются только
getToken
getSecret
в Fabric.mssparkutils.credentials
Ресурсы записных книжек: записные книжки Fabric предоставляют файловую систему Unix, чтобы управлять папками и файлами. Дополнительные сведения см. в статье "Использование записных книжек Microsoft Fabric".
Совместная работа. Записная книжка Fabric — это элемент совместной работы, поддерживающий редактирование нескольких пользователей одной записной книжки. Дополнительные сведения см. в статье "Использование записных книжек Microsoft Fabric".
Высокая параллелизм: в Fabric можно подключить записные книжки к сеансу высокой параллелизма. Этот параметр является альтернативой для пользователей, использующих ThreadPoolExecutor в Azure Synapse. Дополнительные сведения см. в разделе "Настройка режима высокой параллелизма" для записных книжек Fabric.
.NET для Spark C#: Структура не поддерживает .NET Spark (C#). Однако рекомендуется, чтобы пользователи с существующими рабочими нагрузками, написанными на C# или F#, перенесли их на Python или Scala.
Встроенная поддержка запланированного запуска: Fabric поддерживает запланированные запуски для записных книжек.
Дополнительные рекомендации.
- Функции можно использовать в записной книжке, которая поддерживается только в определенной версии Spark. Помните, что Spark 2.4 и 3.1 не поддерживаются в Fabric.
- Если ваша записная книжка или задание Spark используют связанную службу с различными подключениями к источникам данных или точками подключения, необходимо изменить задания Spark, чтобы использовать альтернативные методы для обработки подключений к внешним источникам данных и приемникам. Используйте код Spark для подключения к источникам данных с помощью доступных библиотек Spark.
Примечание.
Узнайте, как перенести записные книжки из Azure Synapse в Fabric.
Сравнение определений заданий Spark
Важные рекомендации по определению задания Spark:
Возможность задания Spark | Azure Synapse Spark | Fabric Spark |
---|---|---|
PySpark | Да | Да |
Scala | Да | Да |
.NET для Spark C# | Да | No |
SparkR | No | Да |
Импорт и экспорт | Да (пользовательский интерфейс) | No |
Поддержка действий конвейера | Да | Да |
Встроенная поддержка запланированного запуска | No | Да |
политики повтора; | No | Да |
Поддержка API/SDK | Да | Да |
Задания Spark. Вы можете принести .py/. R/jar-файлы. Fabric поддерживает SparkR. Определение задания Spark поддерживает ссылки на файлы, аргументы командной строки, конфигурации Spark и ссылки на Lakehouse.
Импорт и экспорт. В Azure Synapse можно импортировать и экспортировать определения заданий Spark на основе JSON из пользовательского интерфейса. Эта функция пока недоступна в Fabric.
.NET для Spark C#: Структура не поддерживает .NET Spark (C#). Однако рекомендация заключается в том, что пользователи с существующими рабочими нагрузками, написанными на C# или F#, переносятся на Python или Scala.
Встроенная поддержка запланированного запуска: Fabric поддерживает запланированные запуски для определения задания Spark.
Политики повторных попыток. Этот параметр позволяет пользователям выполнять задания потоковой передачи Spark, структурированные на неопределенный срок.
Примечание.
Узнайте, как перенести определения заданий Spark из Azure Synapse в Fabric.
Сравнение хранилища метаданных Hive (HMS)
Различия и рекомендации по хранилищу метаданных Hive (HMS):
Тип HMS | Azure Synapse Spark | Fabric Spark |
---|---|---|
Внутренние HMS | Да | Да (lakehouse) |
Внешний HMS | Да | No |
- Внешний HMS: Структура в настоящее время не поддерживает API каталога и доступ к внешнему хранилищу метаданных Hive (HMS).
Примечание.
Узнайте, как перенести метаданные каталога Azure Synapse Spark в Fabric.
Связанный контент
- Дополнительные сведения о параметрах миграции для пулов Spark, конфигураций, библиотек, записных книжек и определений заданий Spark
- Перенос данных и конвейеров
- Перенос метаданных хранилища метаданных Хранилища метаданных Hive