Schema YAML del componente Spark (v2) dell'interfaccia della riga di comando
SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)
Nota
La sintassi YAML descritta in dettaglio in questo documento si basa sullo schema JSON per la versione più recente dell'estensione dell'interfaccia della riga di comando di Machine Learning v2. Il funzionamento di questa sintassi è garantito solo con la versione più recente dell'estensione dell'interfaccia della riga di comando di Machine Learning v2. È possibile trovare gli schemi per le versioni di estensione precedenti in https://azuremlschemasprod.azureedge.net/.
Sintassi YAML
Chiave | Type | Descrizione | Valori consentiti | Valore predefinito |
---|---|---|---|---|
$schema |
string | Schema YAML. Se si usa l'estensione Azure Machine Learning per Visual Studio Code per creare il file YAML, l'inclusione di $schema nella parte superiore del file consente di richiamare i completamenti dello schema e delle risorse. |
||
type |
const | Obbligatorio. Tipo di componente. | spark |
|
name |
string | Obbligatorio. Nome del componente. Deve iniziare con una lettera minuscola. I caratteri consentiti sono lettere minuscole, numeri e caratteri di sottolineatura(_). La lunghezza massima consentita è di 255 caratteri. | ||
version |
string | Versione del componente. Se omesso, Azure Machine Learning genera automaticamente una versione. | ||
display_name |
string | Nome visualizzato del componente nell'interfaccia utente di Studio. Può essere non univoco all'interno dell'area di lavoro. | ||
description |
string | Descrizione del componente. | ||
tags |
oggetto | Dizionario dei tag per il componente. | ||
code |
string | Obbligatorio. Percorso della cartella che contiene codice sorgente e script per il componente. | ||
entry |
oggetto | Obbligatorio. Punto di ingresso per il componente. Può definire un oggetto file . |
||
entry.file |
string | Percorso della cartella che contiene codice sorgente e script per il componente. | ||
py_files |
oggetto | Elenco di .zip file , .egg o .py da inserire in per l'esecuzione PYTHONPATH corretta del processo con questo componente. |
||
jars |
oggetto | Elenco di .jar file da includere nel driver Spark e nell'executor CLASSPATH per la corretta esecuzione del processo con questo componente. |
||
files |
oggetto | Elenco di file che devono essere copiati nella directory di lavoro di ogni executor, per un'esecuzione corretta del processo con questo componente. | ||
archives |
oggetto | Elenco di archivi che devono essere estratti nella directory di lavoro di ogni executor, per un'esecuzione corretta del processo con questo componente. | ||
conf |
oggetto | Proprietà del driver Spark e dell'executor. Vedere Attributi della conf chiave |
||
environment |
stringa o oggetto | Ambiente da usare per il componente. Questo valore può essere un riferimento a un ambiente con controllo delle versioni esistente nell'area di lavoro o a una specifica dell'ambiente inline. Per fare riferimento a un ambiente esistente, usare la azureml:<environment_name>:<environment_version> sintassi o azureml:<environment_name>@latest per fare riferimento alla versione più recente di un ambiente. Per definire un ambiente inline, seguire lo schema Ambiente. Escludere le name proprietà e version perché gli ambienti inline non li supportano. |
||
args |
string | Argomenti della riga di comando che devono essere passati allo script Python del punto di ingresso del componente. Questi argomenti possono contenere i percorsi dei dati di input e la posizione in cui scrivere l'output, ad esempio "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
inputs |
oggetto | Dizionario degli input del componente. La chiave è un nome per l'input all'interno del contesto del componente e il valore è il valore di input. È possibile fare riferimento agli input nell'oggetto args usando l'espressione ${{ inputs.<input_name> }} . |
||
inputs.<input_name> |
number, integer, boolean, string or object | Uno di un valore letterale (di tipo number, integer, boolean o string) o di un oggetto contenente una specifica dei dati di input del componente. | ||
outputs |
oggetto | Dizionario delle configurazioni di output del componente. La chiave è un nome per l'output all'interno del contesto del componente e il valore è la configurazione di output. È possibile fare riferimento agli output nell'oggetto args usando l'espressione ${{ outputs.<output_name> }} . |
||
outputs.<output_name> |
oggetto | Output del componente Spark. L'output per un componente Spark può essere scritto in un file o in un percorso di cartella specificando un oggetto contenente la specifica di output del componente. |
Attributi della conf
chiave
Chiave | Type | Descrizione | Default value |
---|---|---|---|
spark.driver.cores |
integer | Numero di core per il driver Spark. | |
spark.driver.memory |
string | Memoria allocata per il driver Spark, in gigabyte (GB), ad esempio 2g . |
|
spark.executor.cores |
integer | Numero di core per l'executor Spark. | |
spark.executor.memory |
string | Memoria allocata per l'executor Spark, in gigabyte (GB), ad esempio 2g . |
|
spark.dynamicAllocation.enabled |
boolean | Indica se gli executor devono essere allocati in modo dinamico come True valore o False . Se questa proprietà è impostata True , definire spark.dynamicAllocation.minExecutors e spark.dynamicAllocation.maxExecutors . Se questa proprietà è impostata su False , definire spark.executor.instances . |
False |
spark.dynamicAllocation.minExecutors |
integer | Numero minimo di istanze di executor Spark per l'allocazione dinamica. | |
spark.dynamicAllocation.maxExecutors |
integer | Numero massimo di istanze di executor Spark per l'allocazione dinamica. | |
spark.executor.instances |
integer | Numero di istanze dell'executor Spark. |
Input dei componenti
Chiave | Type | Descrizione | Valori consentiti | Valore predefinito |
---|---|---|---|---|
type |
string | Tipo di input del componente. Specificare uri_file per i dati di input che puntano a una singola origine file o uri_folder per i dati di input che puntano a un'origine cartella. Altre informazioni sull'accesso ai dati. |
uri_file , uri_folder |
|
mode |
string | Modalità di distribuzione dei dati alla destinazione di calcolo. La direct modalità passa l'URL del percorso di archiviazione come input del componente. Si ha la piena responsabilità di gestire le credenziali di accesso alle risorse di archiviazione. |
direct |
Output dei componenti
Chiave | Type | Descrizione | Valori consentiti | Valore predefinito |
---|---|---|---|---|
type |
string | Tipo di output del componente. | uri_file , uri_folder |
|
mode |
string | Modalità di recapito dei file di output alla risorsa di archiviazione di destinazione. | direct |
Osservazioni:
I az ml component
comandi possono essere usati per la gestione del componente Spark di Azure Machine Learning.
Esempi
Gli esempi sono disponibili nel repository GitHub di esempi. Di seguito vengono visualizzati diversi elementi.
YAML: componente Spark di esempio
# 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: processo della pipeline di esempio con un 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>