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


Сравнение Инжиниринг данных 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.
  • Уровень среды: вы можете отправлять и устанавливать библиотеки в среду. Библиотеки уровня среды доступны для всех записных книжек и определений заданий 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, но поддерживаются только getTokengetSecret в 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.

Сравнение определений заданий 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, структурированные на неопределенный срок.

Сравнение хранилища метаданных Hive (HMS)

Различия и рекомендации по хранилищу метаданных Hive (HMS):

Тип HMS Azure Synapse Spark Fabric Spark
Внутренние HMS Да Да (lakehouse)
Внешний HMS Да No
  • Внешний HMS: Структура в настоящее время не поддерживает API каталога и доступ к внешнему хранилищу метаданных Hive (HMS).