Схема YAML задания Spark (версия 2)
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
Примечание.
Синтаксис YAML, описанный в этом документе, основан на схеме JSON для последней версии расширения ML CLI (версия 2). Этот синтаксис гарантированно работает только с последней версией расширения ML CLI (версия 2). Схемы для старых версий расширений можно найти по адресу https://azuremlschemasprod.azureedge.net/.
Синтаксис YAML
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
$schema |
строка | Схема YAML. При создании файла YAML с помощью расширения VS Code Машинного обучения Azure вы можете добавить $schema в верхней части файла, чтобы вызывать завершение схемы и ресурсов. |
||
type |
const | Обязательный. Тип задания. | spark |
|
name |
строка | Имя задания. Должно быть уникальным для всех заданий в рабочей области. Если опущено, Машинное обучение Azure автоматически создает GUID для имени. | ||
display_name |
строка | Отображаемое имя задания в пользовательском интерфейсе студии. Может быть неуникален в рабочей области. Если опущено, Машинное обучение Azure автоматически создает идентификатор прилагательного имени, доступный для чтения. | ||
experiment_name |
строка | Имя эксперимента, по которому будет организовано задание. Запись выполнения каждого задания организована в соответствии с соответствующим экспериментом на вкладке "Эксперименты" студии. Если опущено, Машинное обучение Azure по умолчанию используется имя рабочего каталога, в котором было создано задание. | ||
description |
строка | Описание задания. | ||
tags |
объект | Словарь тегов для задания. | ||
code |
строка | Локальный путь к каталогу исходного кода, который будет отправлен и использован для задания. | ||
code |
строка | Обязательный. Расположение папки, содержащей исходный код и скрипты для этого задания. | ||
entry |
объект | Обязательный. Точка входа для задания. Он может определить file . |
||
entry.file |
строка | Расположение папки, содержащей исходный код и скрипты для этого задания. | ||
py_files |
объект | Список .zip файлов .egg , .py которые нужно поместить в PYTHONPATH приложение, для успешного выполнения задания. |
||
jars |
объект | Список .jar файлов для включения в драйвер Spark и исполнителя CLASSPATH для успешного выполнения задания. |
||
files |
объект | Список файлов, которые следует скопировать в рабочий каталог каждого исполнителя, для успешного выполнения задания. | ||
archives |
объект | Список архивов, которые следует извлечь в рабочий каталог каждого исполнителя, для успешного выполнения задания. | ||
conf |
объект | Свойства драйвера Spark и исполнителя. См . атрибуты conf ключа |
||
environment |
Строка или объект | Среда, используемая для задания. Среда может быть ссылкой на существующую версию среды в рабочей области или встроенную спецификацию среды. Чтобы ссылаться на существующую среду, используйте azureml:<environment_name>:<environment_version> синтаксис или azureml:<environment_name>@latest (чтобы ссылаться на последнюю версию среды). Чтобы определить встроенную среду, следуйте схеме среды. name Исключите и version свойства, так как встроенные среды не поддерживают их. |
||
args |
строка | Аргументы командной строки, которые должны передаваться в скрипт точки входа задания Python. Эти аргументы могут содержать пути входных данных, расположение для записи выходных данных, например "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
resources |
объект | Ресурсы, используемые Машинное обучение Azure бессерверными вычислениями Spark. Один из compute или resources должен быть определен. |
||
resources.instance_type |
строка | Тип вычислительного экземпляра, используемый для пула Spark. | standard_e4s_v3 , , standard_e8s_v3 standard_e16s_v3 standard_e32s_v3 , . standard_e64s_v3 |
|
resources.runtime_version |
строка | Версия среды выполнения Spark. | 3.2 , 3.3 |
|
compute |
строка | Имя подключенного пула Synapse Spark для выполнения задания. Один из compute или resources должен быть определен. |
||
inputs |
объект | Словарь входных данных для задания. Ключ — это имя входных данных в контексте задания, а значение — это входное значение. На входные данные можно ссылаться в args с помощью выражения ${{ inputs.<input_name> }} . |
||
inputs.<input_name> |
число, целое число, логическое значение, строка или объект | Одно из литеральных значений (с типом Number, Integer, Boolean или String) или объект, содержащий спецификацию входных данных для задания. | ||
outputs |
объект | Словарь конфигураций выходных данных для задания. Ключ — это имя выходных данных в контексте задания, а значение — выходная конфигурация. На выходные данные можно ссылаться в args с помощью выражения ${{ outputs.<output_name> }} . |
||
outputs.<output_name> |
объект | Выходные данные задания Spark. Выходные данные для задания Spark можно записать в файл или папку, предоставив объект, содержащий спецификацию выходных данных задания. | ||
identity |
объект | Удостоверение используется для доступа к данным. Это может быть UserIdentityConfiguration, ManagedIdentityConfiguration или None. Для UserIdentityConfiguration удостоверение отправителя заданий используется для доступа к входным данным и записи результата в выходную папку. В противном случае соответствующее удостоверение основано на типе вычислений Spark. |
Атрибуты ключа conf
Ключ | Тип | Описание | Default value |
---|---|---|---|
spark.driver.cores |
integer | Число ядер для драйвера Spark. | |
spark.driver.memory |
строка | Выделенная память для драйвера Spark в гигабайтах (ГБ); например, 2g . |
|
spark.executor.cores |
integer | Количество ядер для исполнителя Spark. | |
spark.executor.memory |
строка | Выделенная память для исполнителя Spark в гигабайтах (ГБ); например, 2g . |
|
spark.dynamicAllocation.enabled |
boolean | Следует ли динамически выделять исполнителей как True значение или False значение. Если это свойство задано True , определите spark.dynamicAllocation.minExecutors и spark.dynamicAllocation.maxExecutors . Если для этого свойства задано False значение , определите spark.executor.instances . |
False |
spark.dynamicAllocation.minExecutors |
integer | Минимальное количество экземпляров исполнителей Spark для динамического выделения. | |
spark.dynamicAllocation.maxExecutors |
integer | Максимальное количество экземпляров исполнителя Spark для динамического выделения. | |
spark.executor.instances |
integer | Количество экземпляров исполнителя Spark. |
Входные данные задания
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
type |
строка | Тип входных данных для задания. Укажите uri_file , чтобы использовать в качестве источника входные данные из одного файла, или uri_folder , чтобы использовать весь каталог с файлами. Дополнительные сведения о доступе к данным. |
uri_file , uri_folder |
|
path |
строка | Путь к данным, которые используются в качестве входных данных. Универсальный код ресурса (URI) входных данных, например azureml:// abfss:// , или wasbs:// может использоваться. Дополнительные сведения об использовании формата URI см. в разделе "Основной azureml:// синтаксис yaml". |
||
mode |
строка | Режим доставки данных в целевой объект вычислений. Режим direct передает URL-адрес расположения хранилища в качестве входных данных задания. Вы несете полную ответственность за обработку учетных данных доступа к хранилищу. |
direct |
Выходные данные задания
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
type |
строка | Тип выходных данных для задания. | uri_file , uri_folder |
|
path |
строка | Универсальный код ресурса (URI) входных данных, например azureml:// , abfss:// или wasbs:// . |
||
mode |
строка | Режим доставки выходных файлов в целевой ресурс хранилища. | direct |
Конфигурации удостоверений
UserIdentityConfiguration
Ключ | Тип | Описание | Допустимые значения |
---|---|---|---|
type |
const | Обязательный. Тип удостоверения. | user_identity |
ManagedIdentityConfiguration
Ключ | Тип | Описание | Допустимые значения |
---|---|---|---|
type |
const | Обязательный. Тип удостоверения. | managed |
Замечания
Команды az ml job
можно использовать для управления заданиями Spark Машинное обучение Azure.
Примеры
Примеры см. в примерах репозитория GitHub. Далее показано несколько.
YAML: автономное задание Spark с помощью подключенного пула Synapse Spark и управляемого удостоверения
# attached-spark-standalone-managed-identity.yaml
$schema: https://azuremlschemas.azureedge.net/latest/sparkJob.schema.json
type: spark
code: ./src
entry:
file: titanic.py
conf:
spark.driver.cores: 1
spark.driver.memory: 2g
spark.executor.cores: 2
spark.executor.memory: 2g
spark.executor.instances: 2
inputs:
titanic_data:
type: uri_file
path: azureml://datastores/workspaceblobstore/paths/data/titanic.csv
mode: direct
outputs:
wrangled_data:
type: uri_folder
path: azureml://datastores/workspaceblobstore/paths/data/wrangled/
mode: direct
args: >-
--titanic_data ${{inputs.titanic_data}}
--wrangled_data ${{outputs.wrangled_data}}
identity:
type: managed
compute: <ATTACHED_SPARK_POOL_NAME>