Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интеграция Машинное обучение Azure с Azure Synapse Analytics обеспечивает простой доступ к распределенным вычислительным ресурсам с помощью платформы Apache Spark. Эта интеграция обеспечивает следующие возможности вычислений Apache Spark:
- Бессерверные вычисления Spark
- Подключенный пул Synapse Spark
Бессерверные вычисления Spark
Благодаря платформе Apache Spark бессерверные вычисления Spark в Машинное обучение Azure — это самый простой способ выполнения задач распределённых вычислений в среде Машинное обучение Azure. Машинное обучение Azure предлагает полностью управляемый бессерверный вычислительный кластер Apache Spark по запросу. Вам не нужно создавать рабочую область Azure Synapse и пул Synapse Spark.
Можно определить ресурсы, включая тип экземпляра и версию среды выполнения Apache Spark. Используйте эти ресурсы для доступа к бессерверным вычислениям Spark в записных книжках Машинного обучения Azure для:
- Разработка интерактивного кода Spark
- Запуск конвейеров машинного обучения с помощью компонента Spark
- Отправка пакетных заданий Spark
Что необходимо учесть
Бессерверные вычисления Spark хорошо подходят для большинства пользовательских сценариев, требующих быстрого доступа к распределенным вычислительным ресурсам через Apache Spark. Однако, чтобы принять обоснованное решение, рассмотрите преимущества и недостатки этого подхода.
Преимущества.
- Никаких зависимостей от создания других ресурсов Azure для Apache Spark (инфраструктура Azure Synapse работает под капотом).
- Для создания ресурсов, связанных с Azure Synapse, не требуются разрешения на подписку.
- Квоты пула SQL не требуются.
Недостатки.
- Отсутствует постоянное хранилище метаданных Hive. Бессерверные вычисления Spark поддерживают только Spark SQL в памяти.
- Нет доступных таблиц или баз данных.
- Нет интеграции Azure Purview.
- Нет доступных связанных служб.
- Меньше источников данных и соединителей.
- Конфигурация уровня пула отсутствует.
- Нет управления библиотекой уровня пула.
- Поддержка
mssparkutilsтолько частичная.
Сетевая конфигурация
Чтобы использовать сетевую изоляцию с Машинное обучение Azure и бессерверными вычислительными ресурсами Spark, используйте управляемую виртуальную сеть.
Периоды бездействия и механизм завершения
При первом запуске бессерверному вычислительному ресурсу Spark (холодный запуск) может потребоваться от трёх до пяти минут, чтобы запустить сам сеанс Spark. Эта задержка возникает, так как для подготовки автоматизированного бессерверного вычислительного ресурса Spark, поддерживаемого Azure Synapse, требуется время. После подготовки бессерверных вычислений Spark и запуска сеанса Apache Spark последующие выполнения кода (теплый запуск) не испытывают этой задержки.
Конфигурация сеанса Spark предлагает параметр, определяющий время ожидания сеанса (в минутах). Сеанс Spark заканчивается после периода бездействия, превышающего определяемое пользователем время ожидания. Если другой сеанс Spark не запускается в течение следующих 10 минут, система удаляет ресурсы, подготовленные для бессерверных вычислений Spark.
После завершения работы бессерверного Spark ресурса вычислений отправка следующего задания требует холодного запуска. В следующей визуализации показаны случаи бездействия во время сеанса и сценарии демонтажа кластера.
Пакеты Conda на уровне сеанса
YAML-файл зависимостей Conda может задавать множество пакетов Conda на уровне сеанса в конфигурации сеанса. Сеанс завершается по тайм-ауту, если для установки пакетов Conda, указанных в YAML-файле, требуется более 15 минут. Проверьте, доступен ли необходимый пакет в базовом образе Azure Synapse. Для этого посетите эти ресурсы, чтобы определить пакеты, доступные на базовом образе для используемой версии Apache Spark:
- Среда выполнения Azure Synapse для Apache Spark 3.5
- Среда выполнения Azure Synapse для Apache Spark 3.4
Примечание.
Для пакета Conda на уровне сеанса:
- Холодный запуск должен занять около 10 до 15 минут.
- Warm start, с использованием того же пакета Conda, занимает около одной минуты.
- Тёплый старт, с другим пакетом Conda, требует от 10 до 15 минут.
- Если установить большой пакет или пакет, который требует длительного времени установки, это может повлиять на время запуска экземпляра Spark.
- Изменение версии PySpark, Python, Scala/Java, .NET или Spark не поддерживается.
- Образы Docker не поддерживаются.
Сокращение времени запуска холодного сеанса при использовании пакетов Conda на уровне сеанса
spark.hadoop.aml.enable_cache Задайте переменную конфигурации, чтобы true улучшить время холодного запуска сеанса Spark. При использовании пакетов Conda уровня сеанса холодный запуск сеанса обычно занимает от 10 до 15 минут при первом запуске. Однако последующие холодные запуски сеанса занимают от трёх до пяти минут. Определите переменную конфигурации в пользовательском интерфейсе настройки сеанса в разделе "Параметры конфигурации".
Подключенный пул Synapse Spark
При создании пула Spark в рабочей области Azure Synapse вы можете получить доступ к нему в рабочей области Машинного обучения Azure с присоединенным пулом Synapse Spark. Этот вариант подходит для пользователей, которые хотят повторно использовать существующий пул Synapse Spark.
Чтобы подключить пул Synapse Spark к рабочей области Машинного обучения Azure, необходимо выполнить дополнительные действия , прежде чем использовать пул в Машинном обучении Azure для:
- Разработка интерактивного кода Spark
- Отправка пакетного задания Spark
- Запуск конвейеров машинного обучения с помощью компонента Spark
Подключенный пул Synapse Spark предоставляет доступ к собственным функциям Azure Synapse. Вы несете ответственность за подготовку, присоединение, настройку и управление пулом Synapse Spark.
Конфигурация сеанса Spark для подключенного пула Synapse Spark также предлагает возможность определить время ожидания сеанса (в минутах). Поведение времени ожидания сеанса напоминает описание в предыдущем разделе, за исключением того, что связанные ресурсы никогда не удаляются после истечения времени ожидания сеанса.
Определение размера кластера Spark
В заданиях Spark машинного обучения Azure можно определить размер кластера Spark с тремя значениями параметров:
- Количество исполнителей
- Ядра исполнителя
- Память исполнителя
Рассмотрим исполнителя Apache Spark машинного обучения Azure в качестве эквивалента рабочим узлам Azure Spark. Пример может объяснить эти параметры. Если определить число исполнителей как 6 (эквивалентно шести рабочим узлам), количество ядер исполнителя в 4 и память исполнителя как 28 ГБ, задание Spark имеет доступ к кластеру с 24 ядрами в общей сложности и 168 ГБ памяти.
Обеспечение доступа к ресурсам для заданий Spark
Для доступа к данным и другим ресурсам задание Spark может использовать либо управляемое удостоверение, либо сквозную передачу удостоверения пользователя. В этой таблице приведены механизмы, используемые заданиями Spark для доступа к ресурсам.
| Пул Spark | Поддерживаемые идентификаторы | Идентификатор по умолчанию |
|---|---|---|
| Бессерверные вычисления Spark | Удостоверение пользователя, назначаемое пользователем управляемое удостоверение, присоединенное к рабочей области | Удостоверение пользователя |
| Подключенный пул Synapse Spark | Идентификатор пользователя, управляемый идентификатор, назначаемый пользователем, присоединенный к подключенному пулу Synapse Spark, управляемый идентификатор, назначаемый системой, подключенного пула Synapse Spark | Назначаемое системой управляемое удостоверение подключенного пула Synapse Spark |
В этой статье описывается доступ к ресурсам для заданий Spark. В сеансе notebook и бессерверная вычислительная среда Spark, и подключенный пул Synapse Spark используют сквозную передачу удостоверения пользователя для доступа к данным во время интерактивной подготовки данных.
Примечание.
- Чтобы обеспечить успешное выполнение задания Spark, назначьте роли Contributor и Storage Blob Data Contributor в учетной записи хранения Azure, используемой для ввода и вывода данных, той учетной записи, которую вы используете для отправки задания Spark.
- Если подключенный пул Synapse Spark указывает на пул Synapse Spark в рабочей области Azure Synapse и у этой рабочей области есть связанная управляемая виртуальная сеть, настройте управляемую частную конечную точку для учетной записи хранения. Эта конфигурация помогает обеспечить доступ к данным.
Следующие шаги
- Подключение пула Synapse Spark и управление им в Машинное обучение Azure
- Интерактивная обработка данных с помощью Apache Spark в Машинное обучение Azure
- Отправка заданий Spark в Машинное обучение Azure
- Примеры кода для заданий Spark с помощью интерфейса командной строки Машинное обучение Azure
- Примеры кода для заданий Spark с использованием Машинное обучение Azure Python SDK