YAML-schema voor SPARK-taak (v2) CLI (v2)
VAN TOEPASSING OP: Azure CLI ml-extensie v2 (huidige)
Notitie
De YAML-syntaxis die in dit document wordt beschreven, is gebaseerd op het JSON-schema voor de nieuwste versie van de ML CLI v2-extensie. Deze syntaxis werkt gegarandeerd alleen met de nieuwste versie van de ML CLI v2-extensie. U vindt de schema's voor oudere extensieversies op https://azuremlschemasprod.azureedge.net/.
YAML-syntaxis
Sleutel | Type | Description | Toegestane waarden | Default value |
---|---|---|---|---|
$schema |
tekenreeks | Het YAML-schema. Als u de Azure Machine Learning VS Code-extensie gebruikt om het YAML-bestand te ontwerpen, inclusief $schema bovenaan het bestand, kunt u schema- en resourcevoltooiingen aanroepen. |
||
type |
Const | Vereist. Het type taak. | spark |
|
name |
tekenreeks | Naam van de taak. Moet uniek zijn voor alle taken in de werkruimte. Als u dit weglaat, wordt in Azure Machine Learning automatisch een GUID gegenereerd voor de naam. | ||
display_name |
tekenreeks | Weergavenaam van de taak in de gebruikersinterface van studio. Kan niet-zelfstandig zijn binnen de werkruimte. Als u dit weglaat, wordt in Azure Machine Learning automatisch een door mensen leesbare naamwoord-id voor het naamwoord voor de weergavenaam gegenereerd. | ||
experiment_name |
tekenreeks | Experimentnaam om de taak onder te organiseren. De uitvoeringsrecord van elke taak wordt geordend onder het bijbehorende experiment op het tabblad Experimenten van de studio. Als u dit weglaat, wordt deze standaard ingesteld op de naam van de werkmap waarin de taak is gemaakt. | ||
description |
tekenreeks | Beschrijving van de taak. | ||
tags |
object | Woordenlijst met tags voor de taak. | ||
code |
tekenreeks | Lokaal pad naar de broncodemap die moet worden geüpload en gebruikt voor de taak. | ||
code |
tekenreeks | Vereist. De locatie van de map die broncode en scripts voor deze taak bevat. | ||
entry |
object | Vereist. Het toegangspunt voor de taak. Het kan een file . |
||
entry.file |
tekenreeks | De locatie van de map die broncode en scripts voor deze taak bevat. | ||
py_files |
object | Een lijst met .zip bestanden of .egg .py bestanden die in de PYTHONPATH lijst moeten worden geplaatst voor een geslaagde uitvoering van de taak. |
||
jars |
object | Een lijst met .jar bestanden die moeten worden opgenomen in het Spark-stuurprogramma en de uitvoerder CLASSPATH voor een geslaagde uitvoering van de taak. |
||
files |
object | Een lijst met bestanden die moeten worden gekopieerd naar de werkmap van elke uitvoerder voor een geslaagde taakuitvoering. | ||
archives |
object | Een lijst met archieven die moeten worden geëxtraheerd in de werkmap van elke uitvoerder, voor een geslaagde taakuitvoering. | ||
conf |
object | Het Spark-stuurprogramma en de uitvoerderseigenschappen. Kenmerken van de conf sleutel bekijken |
||
environment |
tekenreeks of object | De omgeving die moet worden gebruikt voor de taak. De omgeving kan een verwijzing zijn naar een bestaande versieomgeving in de werkruimte of een inline-omgevingsspecificatie. Als u naar een bestaande omgeving wilt verwijzen, gebruikt u de azureml:<environment_name>:<environment_version> syntaxis of azureml:<environment_name>@latest (om te verwijzen naar de nieuwste versie van een omgeving). Als u een omgeving inline wilt definiëren, volgt u het omgevingsschema. Sluit de name en version eigenschappen uit, omdat inlineomgevingen deze niet ondersteunen. |
||
args |
tekenreeks | De opdrachtregelargumenten die moeten worden doorgegeven aan het Python-script voor het taakinvoerpunt. Deze argumenten kunnen de invoergegevenspaden bevatten, de locatie voor het schrijven van de uitvoer, bijvoorbeeld "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
resources |
object | De resources die moeten worden gebruikt door een serverloze Spark-rekenkracht van Azure Machine Learning. Een van de compute of resources moet worden gedefinieerd. |
||
resources.instance_type |
tekenreeks | Het type rekeninstantie dat moet worden gebruikt voor Spark-pool. | standard_e4s_v3 , , standard_e8s_v3 standard_e16s_v3 , , standard_e32s_v3 , . standard_e64s_v3 |
|
resources.runtime_version |
tekenreeks | De Spark Runtime-versie. | 3.2 , 3.3 |
|
compute |
tekenreeks | Naam van de gekoppelde Synapse Spark-pool om de taak uit te voeren. Een van de compute of resources moet worden gedefinieerd. |
||
inputs |
object | Woordenlijst met invoer voor de taak. De sleutel is een naam voor de invoer binnen de context van de taak en de waarde is de invoerwaarde. In de args ${{ inputs.<input_name> }} expressie kan naar invoer worden verwezen. |
||
inputs.<input_name> |
getal, geheel getal, booleaanse waarde, tekenreeks of object | Een van een letterlijke waarde (van het type getal, geheel getal, booleaanse waarde of tekenreeks) of een object met een specificatie van de invoergegevens van een taak. | ||
outputs |
object | Woordenlijst met uitvoerconfiguraties van de taak. De sleutel is een naam voor de uitvoer binnen de context van de taak en de waarde is de uitvoerconfiguratie. Er kan naar uitvoer worden verwezen in de args expressie ${{ outputs.<output_name> }} . |
||
outputs.<output_name> |
object | De Uitvoer van de Spark-taak. Uitvoer voor een Spark-taak kan worden geschreven naar een bestand of een maplocatie door een object op te geven dat de taakuitvoerspecificatie bevat. | ||
identity |
object | De identiteit wordt gebruikt voor toegang tot gegevens. Dit kan UserIdentityConfiguration, ManagedIdentityConfiguration of None zijn. Voor UserIdentityConfiguration wordt de identiteit van de taakaanzender gebruikt om toegang te krijgen tot de invoergegevens en het resultaat naar de uitvoermap te schrijven. Anders is de juiste identiteit gebaseerd op het Spark-rekentype. |
Kenmerken van de conf
sleutel
Sleutel | Type | Description | Default value |
---|---|---|---|
spark.driver.cores |
geheel getal | Het aantal kernen voor het Spark-stuurprogramma. | |
spark.driver.memory |
tekenreeks | Toegewezen geheugen voor het Spark-stuurprogramma, in gigabytes (GB); bijvoorbeeld 2g . |
|
spark.executor.cores |
geheel getal | Het aantal kernen voor de Spark-uitvoerprogramma. | |
spark.executor.memory |
tekenreeks | Toegewezen geheugen voor de Spark-uitvoerder, in gigabytes (GB); bijvoorbeeld 2g . |
|
spark.dynamicAllocation.enabled |
boolean | Of uitvoerders dynamisch moeten worden toegewezen, als een waarde of False als een True waarde. Als deze eigenschap is ingesteld True , definieert spark.dynamicAllocation.minExecutors en spark.dynamicAllocation.maxExecutors . Als deze eigenschap is ingesteld op False , definieert u spark.executor.instances . |
False |
spark.dynamicAllocation.minExecutors |
geheel getal | Het minimale aantal Spark-uitvoerders voor dynamische toewijzing. | |
spark.dynamicAllocation.maxExecutors |
geheel getal | Het maximum aantal Spark-uitvoerders voor dynamische toewijzing. | |
spark.executor.instances |
geheel getal | Het aantal Spark-uitvoerders. |
Taakinvoer
Sleutel | Type | Description | Toegestane waarden | Default value |
---|---|---|---|---|
type |
tekenreeks | Het type taakinvoer. Geef uri_file op voor invoergegevens die naar één bestandsbron verwijst of uri_folder voor invoergegevens die naar een mapbron verwijst. Meer informatie over gegevenstoegang. |
uri_file , uri_folder |
|
path |
tekenreeks | Het pad naar de gegevens die moeten worden gebruikt als invoer. De URI van de invoergegevens, zoals azureml:// , abfss:// of wasbs:// kan worden gebruikt. Zie core yaml-syntaxis voor meer informatie over het gebruik van de azureml:// URI-indeling. |
||
mode |
tekenreeks | Modus van hoe de gegevens moeten worden geleverd aan het rekendoel. De direct modus geeft de URL van de opslaglocatie door als de taakinvoer. U hebt volledige verantwoordelijkheid voor het afhandelen van toegangsreferenties voor opslag. |
direct |
Taakuitvoer
Sleutel | Type | Description | Toegestane waarden | Default value |
---|---|---|---|---|
type |
tekenreeks | Het type taakuitvoer. | uri_file , uri_folder |
|
path |
tekenreeks | De URI van de invoergegevens, zoals azureml:// , abfss:// of wasbs:// . |
||
mode |
tekenreeks | Modus van uitvoerbestand(en) levering aan de doelopslagresource. | direct |
Identiteitsconfiguraties
UserIdentityConfiguration
Sleutel | Type | Description | Toegestane waarden |
---|---|---|---|
type |
Const | Vereist. Identiteitstype. | user_identity |
ManagedIdentityConfiguration
Sleutel | Type | Description | Toegestane waarden |
---|---|---|---|
type |
Const | Vereist. Identiteitstype. | managed |
Opmerkingen
De az ml job
opdrachten kunnen worden gebruikt voor het beheren van Azure Machine Learning Spark-taken.
Voorbeelden
Zie voorbeelden in de GitHub-opslagplaats voor voorbeelden. Hierna worden er verschillende weergegeven.
YAML: een zelfstandige Spark-taak met behulp van gekoppelde Synapse Spark-pool en beheerde identiteit
# 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>