Dela via


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, .eggeller .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 CLASSPATHfö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 Truedefinierar spark.dynamicAllocation.minExecutors och spark.dynamicAllocation.maxExecutors. Om den här egenskapen är inställd på Falsedefinierar 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>

YAML: Ett fristående Spark-jobb med serverlös Spark-beräkning och användaridentitet

Nästa steg