CLI (v2) YAML-schema för Spark-komponent
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. Typ av komponent. | spark |
|
name |
sträng | Obligatoriskt. Komponentens namn. Måste börja med gemener. Tillåtna tecken är gemener, siffror och understreck(_). Maximal längd är 255 tecken. | ||
version |
sträng | Version av komponenten. Om den utelämnas genereras en version automatiskt av Azure Machine Learning. | ||
display_name |
sträng | Visningsnamn för komponenten i studiogränssnittet. Kan vara icke-substantiv i arbetsytan. | ||
description |
sträng | Beskrivning av komponenten. | ||
tags |
objekt | Ordlista med taggar för komponenten. | ||
code |
sträng | Obligatoriskt. Platsen för mappen som innehåller källkod och skript för komponenten. | ||
entry |
objekt | Obligatoriskt. Startpunkten för komponenten. Det kan definiera en file . |
||
entry.file |
sträng | Platsen för mappen som innehåller källkod och skript för komponenten. | ||
py_files |
objekt | En lista över .zip , .egg eller .py filer som ska placeras i PYTHONPATH , för lyckad körning av jobbet med den här komponenten. |
||
jars |
objekt | En lista över .jar filer som ska inkluderas på Spark-drivrutinen och kören CLASSPATH för lyckad körning av jobbet med den här komponenten. |
||
files |
objekt | En lista över filer som ska kopieras till arbetskatalogen för varje köre, för lyckad körning av jobbet med den här komponenten. | ||
archives |
objekt | En lista över arkiv som ska extraheras till arbetskatalogen för varje utförare för lyckad körning av jobbet med den här komponenten. | ||
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 komponenten. Det här värdet 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 komponentens startpunkt Python-skript. Dessa argument kan innehålla sökvägarna för indata och platsen där utdata ska skrivas, till exempel "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
inputs |
objekt | Ordlista över komponentindata. Nyckeln är ett namn på indata i komponentens 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 komponentindataspecifikation. | ||
outputs |
objekt | Ordlista över komponentens utdatakonfigurationer. Nyckeln är ett namn på utdata i komponentens kontext och värdet är utdatakonfigurationen. Utdata kan refereras i args med uttrycket ${{ outputs.<output_name> }} . |
||
outputs.<output_name> |
objekt | Spark-komponentens utdata. Utdata för en Spark-komponent kan skrivas till antingen en fil eller en mappplats genom att tillhandahålla ett objekt som innehåller komponentens utdataspecifikation. |
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. |
Komponentindata
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
type |
sträng | Typ av komponentindata. 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 |
|
mode |
sträng | Läge för hur data ska levereras till beräkningsmålet. Läget direct skickas i URL:en för lagringsplatsen som komponentindata. Du har fullt ansvar för att hantera autentiseringsuppgifter för lagringsåtkomst. |
direct |
Komponentutdata
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
type |
sträng | Typ av komponentutdata. | uri_file , uri_folder |
|
mode |
sträng | Leveransläget för utdatafilerna till mållagringsresursen. | direct |
Kommentarer
Kommandona az ml component
kan användas för att hantera Azure Machine Learning Spark-komponenten.
Exempel
Exempel är tillgängliga i GitHub-exempellagringsplatsen. Flera visas härnäst.
YAML: En Spark-exempelkomponent
# spark-job-component.yaml
$schema: https://azuremlschemas.azureedge.net/latest/sparkComponent.schema.json
name: titanic_spark_component
type: spark
version: 1
display_name: Titanic-Spark-Component
description: Spark component for Titanic data
code: ./src
entry:
file: titanic.py
inputs:
titanic_data:
type: uri_file
mode: direct
outputs:
wrangled_data:
type: uri_folder
mode: direct
args: >-
--titanic_data ${{inputs.titanic_data}}
--wrangled_data ${{outputs.wrangled_data}}
conf:
spark.driver.cores: 1
spark.driver.memory: 2g
spark.executor.cores: 2
spark.executor.memory: 2g
spark.dynamicAllocation.enabled: True
spark.dynamicAllocation.minExecutors: 1
spark.dynamicAllocation.maxExecutors: 4
YAML: Ett exempel på pipelinejobb med en Spark-komponent
# attached-spark-pipeline-user-identity.yaml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: Titanic-Spark-CLI-Pipeline-2
description: Spark component for Titanic data in Pipeline
jobs:
spark_job:
type: spark
component: ./spark-job-component.yml
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
identity:
type: user_identity
compute: <ATTACHED_SPARK_POOL_NAME>