Delen via


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 .zipbestanden of .egg.py bestanden die in de PYTHONPATHlijst 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 CLASSPATHvoor 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_v3standard_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>

YAML: een zelfstandige Spark-taak met serverloze Spark-reken- en gebruikersidentiteit

Volgende stappen