CLI (v2) Esquema YAML do componente Spark
APLICA-SE A: Azure CLI ml extension v2 (atual)
Nota
A sintaxe YAML detalhada neste documento é baseada no esquema JSON para a versão mais recente da extensão ML CLI v2. Esta sintaxe é garantida apenas para funcionar com a versão mais recente da extensão ML CLI v2. Você pode encontrar os esquemas para versões de extensão mais antigas em https://azuremlschemasprod.azureedge.net/.
Sintaxe YAML
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
$schema |
string | O esquema YAML. Se você usar a extensão VS Code do Aprendizado de Máquina do Azure para criar o arquivo YAML, inclusive $schema na parte superior do arquivo permitirá que você invoque o esquema e as completações de recursos. |
||
type |
const | Obrigatório. O tipo de componente. | spark |
|
name |
string | Obrigatório. Nome do componente. Deve começar com letra minúscula. Os caracteres permitidos são letras minúsculas, números e sublinhado(_). O comprimento máximo é de 255 caracteres. | ||
version |
string | Versão do componente. Se omitido, o Azure Machine Learning gera automaticamente uma versão. | ||
display_name |
string | Nome de exibição do componente na interface do usuário do estúdio. Pode não ser exclusivo dentro do espaço de trabalho. | ||
description |
string | Descrição do componente. | ||
tags |
objeto | Dicionário de tags para o componente. | ||
code |
string | Obrigatório. O local da pasta que contém o código-fonte e scripts para o componente. | ||
entry |
objeto | Obrigatório. O ponto de entrada para o componente. Poderia definir um file . |
||
entry.file |
string | O local da pasta que contém o código-fonte e scripts para o componente. | ||
py_files |
objeto | Uma lista de .zip , .egg ou .py arquivos, a serem colocados no PYTHONPATH , para a execução bem-sucedida do trabalho com este componente. |
||
jars |
objeto | Uma lista de .jar arquivos a serem incluídos no driver Spark e no executor CLASSPATH , para a execução bem-sucedida do trabalho com esse componente. |
||
files |
objeto | Uma lista de arquivos que devem ser copiados para o diretório de trabalho de cada executor, para a execução bem-sucedida do trabalho com este componente. | ||
archives |
objeto | Uma lista de arquivos que devem ser extraídos para o diretório de trabalho de cada executor, para a execução bem-sucedida do trabalho com este componente. | ||
conf |
objeto | As propriedades do driver e do executor do Spark. Consulte Atributos da conf chave |
||
environment |
string ou objeto | O ambiente a ser usado para o componente. Esse valor pode ser uma referência a um ambiente versionado existente no espaço de trabalho ou uma especificação de ambiente embutido. Para fazer referência a um ambiente existente, use a azureml:<environment_name>:<environment_version> sintaxe ou azureml:<environment_name>@latest (para fazer referência à versão mais recente de um ambiente). Para definir um ambiente embutido, siga o esquema Ambiente. Exclua as propriedades e version porque os name ambientes em linha não oferecem suporte a elas. |
||
args |
string | Os argumentos de linha de comando que devem ser passados para o script Python do ponto de entrada do componente. Esses argumentos podem conter os caminhos dos dados de entrada e o local para gravar a saída, por exemplo "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
inputs |
objeto | Dicionário de entradas de componentes. A chave é um nome para a entrada dentro do contexto do componente e o valor é o valor de entrada. As entradas podem ser referenciadas args no uso da ${{ inputs.<input_name> }} expressão. |
||
inputs.<input_name> |
número, inteiro, booleano, cadeia de caracteres ou objeto | Um de um valor literal (de número de tipo, inteiro, booleano ou string) ou um objeto que contém uma especificação de dados de entrada de componente. | ||
outputs |
objeto | Dicionário de configurações de saída do componente. A chave é um nome para a saída dentro do contexto do componente e o valor é a configuração de saída. As saídas podem ser referenciadas no args uso da ${{ outputs.<output_name> }} expressão. |
||
outputs.<output_name> |
objeto | A saída do componente Spark. A saída para um componente Spark pode ser gravada em um arquivo ou em um local de pasta fornecendo um objeto contendo a especificação de saída do componente. |
Atributos da conf
chave
Chave | Tipo | Description | Default value |
---|---|---|---|
spark.driver.cores |
integer | O número de núcleos para o driver Spark. | |
spark.driver.memory |
string | Memória alocada para o driver Spark, em gigabytes (GB), por exemplo, 2g . |
|
spark.executor.cores |
integer | O número de núcleos para o executor do Spark. | |
spark.executor.memory |
string | Memória alocada para o executor Spark, em gigabytes (GB), por exemplo 2g . |
|
spark.dynamicAllocation.enabled |
boolean | Se os executores devem ou não ser alocados dinamicamente como um True ou False valor. Se esta propriedade estiver definida True , defina spark.dynamicAllocation.minExecutors e spark.dynamicAllocation.maxExecutors . Se esta propriedade estiver definida como False , defina spark.executor.instances . |
False |
spark.dynamicAllocation.minExecutors |
integer | O número mínimo de instâncias de executores do Spark, para alocação dinâmica. | |
spark.dynamicAllocation.maxExecutors |
integer | O número máximo de instâncias de executores do Spark, para alocação dinâmica. | |
spark.executor.instances |
integer | O número de instâncias do executor do Spark. |
Entradas de componentes
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
type |
string | O tipo de entrada de componente. Especifique uri_file para dados de entrada que apontem para uma única fonte de arquivo ou uri_folder para dados de entrada que apontem para uma fonte de pasta. Saiba mais sobre o acesso a dados. |
uri_file , uri_folder |
|
mode |
string | Modo de como os dados devem ser entregues ao destino de computação. O direct modo passa a URL do local de armazenamento como a entrada do componente. Você tem total responsabilidade para lidar com credenciais de acesso ao armazenamento. |
direct |
Saídas de componentes
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
type |
string | O tipo de saída do componente. | uri_file , uri_folder |
|
mode |
string | O modo de entrega do(s) arquivo(s) de saída para o recurso de armazenamento de destino. | direct |
Observações
Os az ml component
comandos podem ser usados para gerenciar o componente Azure Machine Learning Spark.
Exemplos
Exemplos estão disponíveis no repositório GitHub de exemplos. Vários são mostrados a seguir.
YAML: Um componente Spark de exemplo
# 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: Um trabalho de pipeline de exemplo com um componente 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>