CLI (v2) Esquema YAML do trabalho 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 trabalho. | spark |
|
name |
string | Nome do trabalho. Deve ser exclusivo em todos os trabalhos no espaço de trabalho. Se omitido, o Azure Machine Learning gera automaticamente um GUID para o nome. | ||
display_name |
string | Nome para exibição do trabalho na interface do usuário do estúdio. Pode não ser exclusivo dentro do espaço de trabalho. Se omitido, o Azure Machine Learning gera automaticamente um identificador de substantivo adjetivo legível por humanos para o nome para exibição. | ||
experiment_name |
string | Nome do experimento para organizar o trabalho em. O registro de execução de cada trabalho é organizado sob o experimento correspondente na guia "Experimentos" do estúdio. Se omitido, o Azure Machine Learning assume como padrão o nome do diretório de trabalho onde o trabalho foi criado. | ||
description |
string | Descrição do trabalho. | ||
tags |
objeto | Dicionário de tags para o trabalho. | ||
code |
string | Caminho local para o diretório de código-fonte a ser carregado e usado para o trabalho. | ||
code |
string | Obrigatório. O local da pasta que contém o código-fonte e scripts para este trabalho. | ||
entry |
objeto | Obrigatório. O ponto de entrada para o trabalho. Poderia definir um file . |
||
entry.file |
string | O local da pasta que contém o código-fonte e scripts para este trabalho. | ||
py_files |
objeto | Uma lista de .zip , .egg ou .py arquivos, a serem colocados no PYTHONPATH , para a execução bem-sucedida do trabalho. |
||
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. |
||
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. | ||
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. | ||
conf |
objeto | As propriedades do driver e do executor do Spark. Consulte Atributos da conf chave |
||
environment |
string ou objeto | O ambiente a utilizar para o trabalho. O ambiente 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 trabalho. Esses argumentos podem conter os caminhos de dados de entrada, o local para gravar a saída, por exemplo "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
resources |
objeto | Os recursos a serem usados por uma computação do Spark sem servidor do Azure Machine Learning. Um dos compute ou resources deve ser definido. |
||
resources.instance_type |
string | O tipo de instância de computação a ser usado para o pool do Spark. | standard_e4s_v3 , standard_e8s_v3 , standard_e16s_v3 , standard_e32s_v3 , standard_e64s_v3 . |
|
resources.runtime_version |
string | A versão de tempo de execução do Spark. | 3.2 , 3.3 |
|
compute |
string | Nome do pool Synapse Spark anexado no qual executar o trabalho. Um dos compute ou resources deve ser definido. |
||
inputs |
objeto | Dicionário de entradas para o trabalho. A chave é um nome para a entrada dentro do contexto do trabalho 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 (do tipo número, inteiro, booleano ou string) ou um objeto que contém uma especificação de dados de entrada de trabalho. | ||
outputs |
objeto | Dicionário de configurações de saída do trabalho. A chave é um nome para a saída dentro do contexto do trabalho 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 trabalho do Spark. A saída para um trabalho do Spark pode ser gravada em um arquivo ou em um local de pasta fornecendo um objeto que contém a especificação de saída do trabalho. | ||
identity |
objeto | A identidade é usada para acesso aos dados. Pode ser UserIdentityConfiguration, ManagedIdentityConfiguration ou None. Para UserIdentityConfiguration, a identidade do remetente do trabalho é usada para acessar os dados de entrada e gravar o resultado na pasta de saída. Caso contrário, a identidade apropriada é baseada no tipo de computação Spark. |
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 trabalho
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
type |
string | O tipo de entrada de trabalho. 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 |
|
path |
string | O caminho para os dados a serem usados como entrada. O URI dos dados de entrada, como azureml:// , abfss:// ou wasbs:// pode ser usado. Para obter mais informações sobre como usar o azureml:// formato URI, consulte Sintaxe yaml principal. |
||
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 trabalho. Você tem total responsabilidade para lidar com credenciais de acesso ao armazenamento. |
direct |
Resultados do trabalho
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
type |
string | O tipo de saída do trabalho. | uri_file , uri_folder |
|
path |
string | O URI dos dados de entrada, como azureml:// , abfss:// ou wasbs:// . |
||
mode |
string | Modo de entrega do(s) arquivo(s) de saída para o recurso de armazenamento de destino. | direct |
Configurações de identidade
UserIdentityConfiguration
Chave | Tipo | Description | Valores permitidos |
---|---|---|---|
type |
const | Obrigatório. Tipo de identidade. | user_identity |
ManagedIdentityConfiguration
Chave | Tipo | Description | Valores permitidos |
---|---|---|---|
type |
const | Obrigatório. Tipo de identidade. | managed |
Observações
Os az ml job
comandos podem ser usados para gerenciar trabalhos do Azure Machine Learning Spark.
Exemplos
Veja exemplos em exemplos de repositório GitHub. Vários são mostrados a seguir.
YAML: Um trabalho autônomo do Spark usando o pool Synapse Spark anexado e identidade gerenciada
# 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>