CLI (v2) YAML-schema för Spark-jobb
GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)
Kommentar
YAML-syntaxen som beskrivs i det här dokumentet baseras på JSON-schemat för den senaste versionen av ML CLI v2-tillägget. Den här syntaxen är garanterad att endast fungera med den senaste versionen av ML CLI v2-tillägget. Du hittar scheman för äldre tilläggsversioner på https://azuremlschemasprod.azureedge.net/.
YAML-syntax
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
$schema |
sträng | YAML-schemat. Om du använder Azure Machine Learning VS Code-tillägget för att skapa YAML-filen, inklusive $schema längst upp i filen, kan du anropa schema- och resursavslutningar. |
||
type |
Const | Obligatoriskt. Typen av jobb. | spark |
|
name |
sträng | Namnet på jobbet. Måste vara unikt för alla jobb på arbetsytan. Om det utelämnas skapar Azure Machine Learning automatiskt ett GUID för namnet. | ||
display_name |
sträng | Visningsnamn för jobbet i studiogränssnittet. Kan vara icke-substantiv i arbetsytan. Om detta utelämnas skapar Azure Machine Learning automatiskt en adjektiv-substantividentifierare som kan läsas av människor för visningsnamnet. | ||
experiment_name |
sträng | Experimentnamn för att organisera jobbet under. Körningsposten för varje jobb ordnas under motsvarande experiment på fliken Experiment i studion. Om det utelämnas använder Azure Machine Learning som standard namnet på arbetskatalogen där jobbet skapades. | ||
description |
sträng | Beskrivning av jobbet. | ||
tags |
objekt | Ordlista med taggar för jobbet. | ||
code |
sträng | Lokal sökväg till källkodskatalogen som ska laddas upp och användas för jobbet. | ||
code |
sträng | Obligatoriskt. Platsen för mappen som innehåller källkod och skript för det här jobbet. | ||
entry |
objekt | Obligatoriskt. Startpunkten för jobbet. Det kan definiera en file . |
||
entry.file |
sträng | Platsen för mappen som innehåller källkod och skript för det här jobbet. | ||
py_files |
objekt | En lista över .zip , .egg eller .py filer som ska placeras i PYTHONPATH , för lyckad körning av jobbet. |
||
jars |
objekt | En lista över .jar filer som ska inkluderas i Spark-drivrutinen och kören CLASSPATH för att jobbet ska kunna köras. |
||
files |
objekt | En lista över filer som ska kopieras till arbetskatalogen för varje köre för lyckad jobbkörning. | ||
archives |
objekt | En lista över arkiv som ska extraheras till arbetskatalogen för varje utförare för lyckad jobbkörning. | ||
conf |
objekt | Egenskaper för Spark-drivrutin och köre. Se Attribut för conf nyckeln |
||
environment |
sträng eller objekt | Miljön som ska användas för jobbet. Miljön kan antingen vara en referens till en befintlig version av miljön på arbetsytan eller en infogad miljöspecifikation. Om du vill referera till en befintlig miljö använder du syntaxen azureml:<environment_name>:<environment_version> eller azureml:<environment_name>@latest (för att referera till den senaste versionen av en miljö). Om du vill definiera en infogad miljö följer du miljöschemat. name Exkludera egenskaperna och version eftersom infogade miljöer inte stöder dem. |
||
args |
sträng | Kommandoradsargumenten som ska skickas till python-skriptet för jobbinmatningspunkten. Dessa argument kan innehålla sökvägarna för indata, platsen där utdata ska skrivas, till exempel "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
resources |
objekt | De resurser som ska användas av en serverlös Spark-beräkning i Azure Machine Learning. En av compute eller resources bör definieras. |
||
resources.instance_type |
sträng | Den beräkningsinstanstyp som ska användas för Spark-poolen. | standard_e4s_v3 , standard_e8s_v3 , standard_e16s_v3 , standard_e32s_v3 , . standard_e64s_v3 |
|
resources.runtime_version |
sträng | Spark-körningsversionen. | 3.2 , 3.3 |
|
compute |
sträng | Namnet på den bifogade Synapse Spark-poolen som jobbet ska köras på. En av compute eller resources bör definieras. |
||
inputs |
objekt | Ordlista över indata till jobbet. Nyckeln är ett namn på indata i jobbets kontext och värdet är indatavärdet. Indata kan refereras i args med uttrycket ${{ inputs.<input_name> }} . |
||
inputs.<input_name> |
tal, heltal, booleskt värde, sträng eller objekt | Ett av ett literalvärde (av typnummer, heltal, booleskt värde eller sträng) eller ett objekt som innehåller en dataspecifikation för jobbindata. | ||
outputs |
objekt | Ordlista över utdatakonfigurationer för jobbet. Nyckeln är ett namn på utdata i jobbets kontext och värdet är utdatakonfigurationen. Utdata kan refereras i args med uttrycket ${{ outputs.<output_name> }} . |
||
outputs.<output_name> |
objekt | Spark-jobbets utdata. Utdata för ett Spark-jobb kan skrivas till antingen en fil eller en mappplats genom att tillhandahålla ett objekt som innehåller jobbutdataspecifikationen. | ||
identity |
objekt | Identiteten används för dataåtkomst. Det kan vara UserIdentityConfiguration, ManagedIdentityConfiguration eller None. För UserIdentityConfiguration används identiteten för jobbinskickare för att komma åt indata och skriva resultatet till utdatamappen. I annat fall baseras lämplig identitet på Spark-beräkningstypen. |
Attribut för conf
nyckeln
Nyckel | Typ | Beskrivning | Standardvärde |
---|---|---|---|
spark.driver.cores |
integer | Antalet kärnor för Spark-drivrutinen. | |
spark.driver.memory |
sträng | Allokerat minne för Spark-drivrutinen i gigabyte (GB); till exempel 2g . |
|
spark.executor.cores |
integer | Antalet kärnor för Spark-kören. | |
spark.executor.memory |
sträng | Allokerat minne för Spark-kören i gigabyte (GB); till exempel 2g . |
|
spark.dynamicAllocation.enabled |
boolean | Om exekutorer ska allokeras dynamiskt, som ett True eller False -värde. Om den här egenskapen har angetts True definierar spark.dynamicAllocation.minExecutors och spark.dynamicAllocation.maxExecutors . Om den här egenskapen är inställd på False definierar du spark.executor.instances . |
False |
spark.dynamicAllocation.minExecutors |
integer | Det minsta antalet Spark-körinstanser för dynamisk allokering. | |
spark.dynamicAllocation.maxExecutors |
integer | Det maximala antalet Spark-körinstanser för dynamisk allokering. | |
spark.executor.instances |
integer | Antalet Spark-körinstanser. |
Jobbindata
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
type |
sträng | Typ av jobbindata. Ange uri_file för indata som pekar på en enda filkälla eller uri_folder för indata som pekar på en mappkälla. Läs mer om dataåtkomst. |
uri_file , uri_folder |
|
path |
sträng | Sökvägen till de data som ska användas som indata. URI:n för indata, till exempel azureml:// , abfss:// eller wasbs:// kan användas. Mer information om hur du använder azureml:// URI-formatet finns i Core yaml-syntax. |
||
mode |
sträng | Läge för hur data ska levereras till beräkningsmålet. Läget direct skickas i lagringsplats-URL:en som jobbindata. Du har fullt ansvar för att hantera autentiseringsuppgifter för lagringsåtkomst. |
direct |
Jobbutdata
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
type |
sträng | Typ av jobbutdata. | uri_file , uri_folder |
|
path |
sträng | URI:n för indata, till exempel azureml:// , abfss:// eller wasbs:// . |
||
mode |
sträng | Läge för leverans av utdatafiler till mållagringsresursen. | direct |
Identitetskonfigurationer
UserIdentityConfiguration
Nyckel | Typ | Beskrivning | Tillåtna värden |
---|---|---|---|
type |
Const | Obligatoriskt. Identitetstyp. | user_identity |
ManagedIdentityConfiguration
Nyckel | Typ | Beskrivning | Tillåtna värden |
---|---|---|---|
type |
Const | Obligatoriskt. Identitetstyp. | managed |
Kommentarer
Kommandona az ml job
kan användas för att hantera Azure Machine Learning Spark-jobb.
Exempel
Se exempel på GitHub-lagringsplats för exempel. Flera visas härnäst.
YAML: Ett fristående Spark-jobb med hjälp av en ansluten Synapse Spark-pool och hanterad identitet
# 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>