Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Среда выполнения Microsoft Fabric — это платформа, интегрированная с Azure и основанная на Apache Spark, которая обеспечивает выполнение и управление процессами инженерии данных и науки о данных. Он объединяет ключевые компоненты как из внутренних, так и из источников с открытым кодом, предоставляя клиентам комплексное решение. Для простоты мы именуем среду выполнения Microsoft Fabric с использованием Apache Spark как Fabric Runtime.
Основные компоненты среды выполнения Fabric:
Apache Spark — мощная распределенная библиотека распределенных вычислений с открытым кодом, которая позволяет выполнять крупномасштабные задачи обработки и анализа данных. Apache Spark предоставляет универсальную и высокопроизводительную платформу для разработки и обработки и анализа данных.
Delta Lake — слой хранения с открытым исходным кодом, который предоставляет транзакции ACID и другие функции надежности данных в Apache Spark. Интегрированная в среду выполнения Fabric Delta Lake улучшает возможности обработки данных и обеспечивает согласованность данных в нескольких параллельных операциях.
Родной движок выполнения — это преобразующее улучшение производительности рабочих нагрузок Apache Spark, которое обеспечивает значительный прирост скорости благодаря непосредственному выполнению запросов Spark в инфраструктуре Lakehouse. Бесшовная интеграция, не требующая изменений в коде и избегающая привязки к поставщику, поддерживает форматы Parquet и Delta в API Apache Spark в среде выполнения версии 1.3 (Spark 3.5). Этот механизм повышает скорость запросов до четырех раз быстрее, чем традиционная OSS Spark, как показано в тестовом тесте TPC-DS 1TB, снижении эксплуатационных затрат и повышении эффективности в различных задачах обработки данных, включая прием данных, ETL, аналитику и интерактивные запросы. Нативный исполнительный механизм основан на двух ключевых компонентах OSS: Velox, библиотеке для ускорения баз данных на C++, представленной Meta, и Apache Gluten (находится в инкубации), промежуточном слое, который отвечает за разгрузку выполнения SQL-движков на основе JVM на нативные исполнительные механизмы, представленные Intel.
Пакеты уровня по умолчанию для Java/Scala, Python и R — пакеты, поддерживающие различные языки программирования и среды. Эти пакеты устанавливаются и настраиваются автоматически, позволяя разработчикам применять предпочитаемые языки программирования для задач обработки данных.
Среда выполнения Microsoft Fabric основана на надежной операционной системе с открытым исходным кодом, обеспечивая совместимость с различными конфигурациями оборудования и требованиями к системе.
Ниже вы найдете комплексное сравнение ключевых компонентов, включая версии Apache Spark, поддерживаемые операционные системы, Java, Scala, Python, Delta Lake и R для сред выполнения на основе Apache Spark на платформе Microsoft Fabric.
Совет
Всегда используйте последнюю общедоступную версию среды выполнения (GA) для рабочей рабочей нагрузки, которая в настоящее время является средой выполнения 1.3.
| Компонент | Рантайм 1.2 | Среда выполнения 1.3 | Среда выполнения 2.0 |
|---|---|---|---|
| этап выпуска | EOSA | ГА | Общедоступная предварительная версия |
| Версия Apache Spark | 3.4.1 | 3.5.5 | 4.0.0 |
| Операционная система | Mariner 2.0 | Mariner 2.0 | Маринр 3.0 |
| Версия Java | 11 | 11 | двадцать один |
| Версия Scala | 2.12.17 | 2.12.17 | 2.13.16 |
| Версия Python | 3,10 | 3.11 | 3.12.11 |
| Версия Delta Lake | 2.4.0 | 3.2 | 4.0.0 |
Посетите среду выполнения 1.2, среду выполнения 1.3 или среду выполнения 2.0 , чтобы изучить сведения, новые функции, улучшения и сценарии миграции для конкретной версии среды выполнения.
Оптимизация структуры
В Microsoft Fabric как подсистема Spark, так и реализации Delta Lake включают оптимизацию и функции, зависящие от платформы. Эти функции предназначены для использования собственных интеграций в рамках платформы. Важно отметить, что все эти функции можно отключить для достижения стандартных функций Spark и Delta Lake. Среда выполнения Fabric для Apache Spark включает:
- Полная версия Apache Spark с открытым исходным кодом.
- Коллекция почти 100 встроенных и уникальных улучшений производительности запросов. Эти улучшения включают такие функции, как кэширование секций (включение кэша секций Файловой системы для уменьшения вызовов хранилища метаданных) и перекрестное присоединение к проекции скалярного подзапроса.
- Встроенный интеллектуальный кэш.
В среде выполнения Fabric Runtime для Apache Spark и Delta Lake доступны встроенные возможности записи, которые служат двум основным целям:
- Они предлагают повышенную производительность для операций записи данных, оптимизируя процесс записи.
- Программа по умолчанию выполняет оптимизацию V-Order для файлов Delta Parquet. Оптимизация Delta Lake V-Order имеет решающее значение для обеспечения высокой производительности чтения во всех движках Fabric. Чтобы получить более глубокое представление о том, как он работает и как управлять им, ознакомьтесь с выделенной статьей по оптимизации таблиц Delta Lake и V-Order.
Поддержка нескольких сред выполнения
Fabric поддерживает несколько сред выполнения, предлагая пользователям гибкость для простого переключения между ними, минимизируя риск несовместимости или нарушений.
По умолчанию все новые рабочие области используют последнюю GA версию среды выполнения, являющуюся в данный момент Версией 1.3.
Чтобы изменить версию среды выполнения на уровне рабочей области, перейдите к параметрам рабочей области >Data Engineering/Science>параметрах Spark. На вкладке среды
После внесения этого изменения все системные элементы в рабочей области, включая Lakehouses, SJD и записные книжки, будут работать с использованием новой выбранной версии среды выполнения на уровне рабочей области, начиная со следующего сеанса Spark. Если вы используете ноутбук с существующим сеансом для выполнения задачи или любой деятельности, связанной с lakehouse, то сеанс Spark продолжается в текущем виде. Однако начиная с следующего сеанса или задания будет применена выбранная версия среды выполнения.
Кроме того, чтобы изменить среду выполнения на уровне элемента Environment, создайте новый элемент среды или откройте уже существующую, в раскрывающемся списке среды выполнения выберите нужную версию среды выполнения из доступных параметров, затем выберите Save и сохраните Publish ваши изменения. Затем вы можете использовать этот Environment элемент с вашим Notebook или Spark Job Definition.
Последствия изменений среды выполнения в параметрах Spark
Как правило, мы стремимся перенести все параметры Spark. Однако если мы определим, что параметр Spark не совместим с средой выполнения B, мы создадим предупреждение и воздержаемся от реализации параметра.
Последствия изменений среды выполнения при управлении библиотеками
Как правило, наш подход заключается в переносе всех библиотек из среды выполнения A в среду выполнения B, включая общедоступные и пользовательские среды выполнения. Если версии Python и R остаются неизменными, библиотеки должны работать должным образом. Однако для Jars существует значительная вероятность того, что они могут не работать из-за изменений зависимостей, а также других факторов, таких как изменения в Scala, Java, Spark и операционной системе.
Пользователь отвечает за обновление или замену библиотек, которые не работают с средой выполнения B. Если возникает конфликт, то есть среда выполнения B включает библиотеку, изначально определенную в среде выполнения A, наша система управления библиотекой пытается создать необходимую зависимость для среды выполнения B на основе параметров пользователя. Однако процесс сборки прерывается, если возникает конфликт. В журнале ошибок пользователи могут видеть, какие библиотеки вызывают конфликты и вносить изменения в их версии или спецификации.
Обновление протокола Delta Lake
Функции Delta Lake всегда являются обратно совместимыми, гарантируя, что таблицы, созданные в более низкой версии Delta Lake, могут легко взаимодействовать с более высокими версиями. Однако, если некоторые функции включены (например, используя метод delta.upgradeTableProtocol(minReaderVersion, minWriterVersion)), совместимость с более низкими версиями Delta Lake может быть скомпрометирована. В таких случаях важно изменить рабочие нагрузки, ссылающиеся на обновленные таблицы, чтобы привести их в соответствие с версией Delta Lake, которая сохраняет совместимость.
Каждая таблица Delta связана со спецификацией протокола, определяя поддерживаемые функции. Приложения, взаимодействующие с таблицей, либо для чтения или записи, полагаются на эту спецификацию протокола, чтобы определить, совместимы ли они с набором функций таблицы. Если приложению не хватает возможности для обработки функции, указанной как поддерживаемая в протоколе таблицы, оно не сможет прочитать из этой таблицы или записать в нее данные.
Спецификация протокола разделена на два отдельных компонента: протокол read и протокол write. Дополнительные сведения см. на странице "Как Delta Lake управляет совместимостью функций?".
Пользователи могут выполнять команду delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) в среде PySpark и в Spark SQL и Scala. Эта команда позволяет им инициировать обновление таблицы Delta.
Важно отметить, что при выполнении этого обновления пользователи получают предупреждение, указывающее, что обновление версии протокола Delta является неисключимым процессом. Это означает, что после выполнения обновления его нельзя отменить.
Обновления версий протокола могут повлиять на совместимость существующих средств чтения и записи таблиц Delta Lake. Поэтому рекомендуется продолжать с осторожностью и обновлять версию протокола только при необходимости, например при внедрении новых функций в Delta Lake.
Это важно
Дополнительные сведения о версиях и функциях протокола, совместимых во всех интерфейсах Microsoft Fabric, см. в статье о взаимодействии с форматом таблицы Delta Lake.
Кроме того, пользователи должны убедиться, что все текущие и будущие рабочие нагрузки и процессы совместимы с таблицами Delta Lake с помощью новой версии протокола, чтобы обеспечить простой переход и предотвратить возможные нарушения.