Condividi tramite


Schema YAML del processo 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 processo. spark
name string Nome del processo. Deve essere univoco in tutti i processi nell'area di lavoro. Se omesso, Azure Machine Learning genera automaticamente un GUID per il nome.
display_name string Nome visualizzato del processo nell'interfaccia utente di Studio. Può essere non univoco all'interno dell'area di lavoro. Se omesso, Azure Machine Learning genera automaticamente un identificatore aggettivo-sostantivo leggibile per il nome visualizzato.
experiment_name string Nome dell'esperimento in cui organizzare il processo. Il record di esecuzione di ogni processo è organizzato nell'esperimento corrispondente nella scheda "Esperimenti" dello studio. Se omesso, Azure Machine Learning lo imposta come predefinito come nome della directory di lavoro in cui è stato creato il processo.
description string Descrizione del processo.
tags oggetto Dizionario dei tag per il processo.
code string Percorso locale della directory del codice sorgente da caricare e usare per il processo.
code string Obbligatorio. Percorso della cartella che contiene codice sorgente e script per questo processo.
entry oggetto Obbligatorio. Punto di ingresso per il processo. Può definire un oggetto file.
entry.file string Percorso della cartella che contiene codice sorgente e script per questo processo.
py_files oggetto Elenco di .zipfile , .eggo .py da inserire in per l'esecuzione PYTHONPATHcorretta del processo.
jars oggetto Elenco di .jar file da includere nel driver Spark e nell'executor CLASSPATHper l'esecuzione corretta del processo.
files oggetto Elenco di file che devono essere copiati nella directory di lavoro di ogni executor, per un'esecuzione corretta del processo.
archives oggetto Elenco di archivi che devono essere estratti nella directory di lavoro di ogni executor per l'esecuzione corretta del processo.
conf oggetto Proprietà del driver Spark e dell'executor. Vedere Attributi della conf chiave
environment stringa o oggetto Ambiente da usare per il processo. L'ambiente può essere un riferimento a un ambiente con controllo delle versioni esistente nell'area di lavoro o a una specifica di 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 processo. Questi argomenti possono contenere i percorsi dei dati di input, il percorso in cui scrivere l'output, ad esempio "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}"
resources oggetto Risorse da usare da un ambiente di calcolo Spark serverless di Azure Machine Learning. Uno degli compute elementi o resources deve essere definito.
resources.instance_type string Tipo di istanza di calcolo da usare per il pool di Spark. standard_e4s_v3, standard_e8s_v3, standard_e16s_v3, standard_e32s_v3, . standard_e64s_v3
resources.runtime_version string Versione del runtime di Spark. 3.2, 3.3
compute string Nome del pool di Spark synapse collegato in cui eseguire il processo. Uno degli compute elementi o resources deve essere definito.
inputs oggetto Dizionario di input per il processo. La chiave è un nome per l'input nel contesto del processo 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 dei valori letterali (di tipo number, integer, boolean o string) o un oggetto contenente una specifica dei dati di input del processo.
outputs oggetto Dizionario delle configurazioni di output del processo. La chiave è un nome per l'output nel contesto del processo 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 processo Spark. L'output per un processo Spark può essere scritto in un file o in un percorso di cartella specificando un oggetto contenente la specifica dell'output del processo.
identity oggetto L'identità viene usata per l'accesso ai dati. Può essere UserIdentityConfiguration, ManagedIdentityConfiguration o Nessuno. Per UserIdentityConfiguration, l'identità del mittente del processo viene usata per accedere ai dati di input e scrivere il risultato nella cartella di output. In caso contrario, l'identità appropriata si basa sul tipo di calcolo Spark.

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 del processo

Chiave Type Descrizione Valori consentiti Valore predefinito
type string Tipo di input del processo. 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
path string Percorso dei dati da usare come input. È possibile usare l'URI dei dati di input, ad esempio azureml://, abfss://o wasbs:// . Per altre informazioni sull'uso del azureml:// formato URI, vedere sintassi yaml di base.
mode string Modalità di distribuzione dei dati alla destinazione di calcolo. La direct modalità passa l'URL della posizione di archiviazione come input del processo. Si ha la piena responsabilità di gestire le credenziali di accesso alle risorse di archiviazione. direct

Output del processo

Chiave Type Descrizione Valori consentiti Valore predefinito
type string Tipo di output del processo. uri_file, uri_folder
path string URI dei dati di input, ad esempio azureml://, abfss://o wasbs://.
mode string Modalità di recapito dei file di output alla risorsa di archiviazione di destinazione. direct

Configurazioni di identità

UserIdentityConfiguration

Chiave Type Descrizione Valori consentiti
type const Obbligatorio. Tipo di identità. user_identity

ManagedIdentityConfiguration

Chiave Type Descrizione Valori consentiti
type const Obbligatorio. Tipo di identità. managed

Osservazioni:

I az ml job comandi possono essere usati per la gestione dei processi Spark di Azure Machine Learning.

Esempi

Vedere esempi in esempi di repository GitHub. Di seguito vengono visualizzati diversi elementi.

YAML: processo Spark autonomo usando il pool di Spark di Synapse collegato e l'identità gestita

# 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>

YAML: processo Spark autonomo con l'identità utente e il calcolo Spark serverless

Passaggi successivi