Схема 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 |
строка | Обязательный. Имя компонента. Должно начинаться с буквы нижнего регистра. Допустимые символы — строчные буквы, цифры и символы подчеркивания(_). Максимальная длина составляет 255 символов. | ||
version |
строка | Версия компонента. Если опущено, Машинное обучение Azure автоматически создает версию. | ||
display_name |
строка | Отображаемое имя компонента в пользовательском интерфейсе Studio. Может быть неуникален в рабочей области. | ||
description |
строка | Описание компонента. | ||
tags |
объект | Словарь тегов для компонента. | ||
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>}}" |
||
inputs |
объект | Словарь входных данных компонента. Ключ — это имя входных данных в контексте компонента, а значение — входное значение. На входные данные можно ссылаться в args с помощью выражения ${{ inputs.<input_name> }} . |
||
inputs.<input_name> |
число, целое число, логическое значение, строка или объект | Одно из литеральных значений (число типа, целое число, логическое значение или строка) или объект, содержащий спецификацию входных данных компонента. | ||
outputs |
объект | Словарь выходных конфигураций компонента. Ключ — это имя выходных данных в контексте компонента, а значение — выходная конфигурация. На выходные данные можно ссылаться в args с помощью выражения ${{ outputs.<output_name> }} . |
||
outputs.<output_name> |
объект | Выходные данные компонента Spark. Выходные данные для компонента 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 |
|
mode |
строка | Режим доставки данных в целевой объект вычислений. Режим direct передает URL-адрес расположения хранилища в качестве входных данных компонента. Вы несете полную ответственность за обработку учетных данных доступа к хранилищу. |
direct |
Выходные данные компонентов
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
type |
строка | Тип выходных данных компонента. | uri_file , uri_folder |
|
mode |
строка | Режим доставки выходных файлов в целевой ресурс хранилища. | direct |
Замечания
Команды az ml component
можно использовать для управления компонентом Spark Машинное обучение Azure.
Примеры
Примеры доступны в репозитории примеров GitHub. Далее показано несколько.
YAML: пример компонента Spark
# spark-job-component.yaml
$schema: https://azuremlschemas.azureedge.net/latest/sparkComponent.schema.json
name: titanic_spark_component
type: spark
version: 1
display_name: Titanic-Spark-Component
description: Spark component for Titanic data
code: ./src
entry:
file: titanic.py
inputs:
titanic_data:
type: uri_file
mode: direct
outputs:
wrangled_data:
type: uri_folder
mode: direct
args: >-
--titanic_data ${{inputs.titanic_data}}
--wrangled_data ${{outputs.wrangled_data}}
conf:
spark.driver.cores: 1
spark.driver.memory: 2g
spark.executor.cores: 2
spark.executor.memory: 2g
spark.dynamicAllocation.enabled: True
spark.dynamicAllocation.minExecutors: 1
spark.dynamicAllocation.maxExecutors: 4
YAML: пример задания конвейера с компонентом Spark
# attached-spark-pipeline-user-identity.yaml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: Titanic-Spark-CLI-Pipeline-2
description: Spark component for Titanic data in Pipeline
jobs:
spark_job:
type: spark
component: ./spark-job-component.yml
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
identity:
type: user_identity
compute: <ATTACHED_SPARK_POOL_NAME>