Schéma YAML komponenty Sparku (v2)
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
Poznámka:
Syntaxe YAML podrobná v tomto dokumentu je založená na schématu JSON pro nejnovější verzi rozšíření ML CLI v2. Tato syntaxe je zaručena pouze pro práci s nejnovější verzí rozšíření ML CLI v2. Schémata pro starší verze rozšíření najdete na adrese https://azuremlschemasprod.azureedge.net/.
Syntaxe YAML
Klíč | Typ | Popis | Povolené hodnoty | Default value |
---|---|---|---|---|
$schema |
string | Schéma YAML. Pokud k vytvoření souboru YAML použijete rozšíření Azure Machine Learning VS Code, včetně $schema v horní části souboru, můžete vyvolat schéma a dokončování prostředků. |
||
type |
const | Povinný: Typ komponenty. | spark |
|
name |
string | Povinný: Název komponenty. Musí začínat malým písmenem. Povolené znaky jsou malá písmena, číslice a podtržítka(_). Maximální délka je 255 znaků. | ||
version |
string | Verze komponenty. Pokud tento parametr vynecháte, Azure Machine Learning automaticky vygeneruje verzi. | ||
display_name |
string | Zobrazovaný název komponenty v uživatelském rozhraní studia V rámci pracovního prostoru může být neunique. | ||
description |
string | Popis komponenty. | ||
tags |
objekt | Slovník značek pro komponentu | ||
code |
string | Povinný: Umístění složky, která obsahuje zdrojový kód a skripty pro komponentu. | ||
entry |
objekt | Povinný: Vstupní bod komponenty. Může definovat .file |
||
entry.file |
string | Umístění složky, která obsahuje zdrojový kód a skripty pro komponentu. | ||
py_files |
objekt | Seznam .zip , .egg nebo .py soubory, které mají být umístěny do PYTHONPATH , pro úspěšné spuštění úlohy s touto komponentou. |
||
jars |
objekt | Seznam .jar souborů, které se mají zahrnout do ovladače Sparku, a exekutor CLASSPATH pro úspěšné spuštění úlohy s touto komponentou. |
||
files |
objekt | Seznam souborů, které by se měly zkopírovat do pracovního adresáře každého exekutoru pro úspěšné spuštění úlohy s touto komponentou. | ||
archives |
objekt | Seznam archivů, které by se měly extrahovat do pracovního adresáře každého exekutoru pro úspěšné spuštění úlohy s touto komponentou. | ||
conf |
objekt | Vlastnosti ovladače Sparku a exekutoru. Zobrazit atributy conf klíče |
||
environment |
řetězec nebo objekt | Prostředí, které se má použít pro komponentu. Tato hodnota může být odkazem na existující prostředí s verzí v pracovním prostoru nebo specifikaci vloženého prostředí. Pokud chcete odkazovat na existující prostředí, použijte azureml:<environment_name>:<environment_version> syntaxi nebo azureml:<environment_name>@latest (k odkazování na nejnovější verzi prostředí). Pokud chcete definovat prostředí vložené, postupujte podle schématu prostředí. Vylučte a name version vlastnosti, protože vložená prostředí je nepodporují. |
||
args |
string | Argumenty příkazového řádku, které by se měly předat skriptu Pythonu vstupního bodu komponenty. Tyto argumenty mohou obsahovat cesty vstupních dat a umístění pro zápis výstupu, například "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}" |
||
inputs |
objekt | Slovník vstupů komponent. Klíč je název vstupu v kontextu komponenty a hodnota je vstupní hodnota. Vstupy lze odkazovat ve args výrazu ${{ inputs.<input_name> }} . |
||
inputs.<input_name> |
number, integer, boolean, string nebo object | Jedna z literálových hodnot (typu číslo, celé číslo, logická hodnota nebo řetězec) nebo objekt obsahující specifikaci vstupních dat komponenty. | ||
outputs |
objekt | Slovník výstupních konfigurací komponenty Klíč je název výstupu v kontextu komponenty a hodnota je výstupní konfigurace. Na výstupy lze odkazovat pomocí args výrazu ${{ outputs.<output_name> }} . |
||
outputs.<output_name> |
objekt | Výstup komponenty Spark. Výstup komponenty Sparku lze zapsat do souboru nebo umístění složky poskytnutím objektu obsahujícího specifikaci výstupu komponenty. |
conf
Atributy klíče
Klíč | Typ | Popis | Default value |
---|---|---|---|
spark.driver.cores |
integer | Počet jader pro ovladač Spark. | |
spark.driver.memory |
string | Přidělená paměť pro ovladač Spark v gigabajtech (GB), například 2g . |
|
spark.executor.cores |
integer | Počet jader pro exekutor Spark. | |
spark.executor.memory |
string | Přidělená paměť pro exekutor Sparku v gigabajtech (GB), například 2g . |
|
spark.dynamicAllocation.enabled |
boolean | Zda by exekutory měly být dynamicky přiděleny jako True nebo False hodnota. Pokud je tato vlastnost nastavena True , definovat spark.dynamicAllocation.minExecutors a spark.dynamicAllocation.maxExecutors . Pokud je tato vlastnost nastavena na False , definujte spark.executor.instances . |
False |
spark.dynamicAllocation.minExecutors |
integer | Minimální počet instancí exekutorů Sparku pro dynamické přidělení | |
spark.dynamicAllocation.maxExecutors |
integer | Maximální počet instancí exekutorů Sparku pro dynamické přidělení | |
spark.executor.instances |
integer | Počet instancí exekutoru Sparku. |
Vstupy komponent
Klíč | Typ | Popis | Povolené hodnoty | Default value |
---|---|---|---|---|
type |
string | Typ vstupu komponenty. Zadejte uri_file vstupní data, která ukazují na jeden zdroj souborů, nebo uri_folder pro vstupní data, která ukazují na zdroj složky. Přečtěte si další informace o přístupu k datům. |
uri_file , uri_folder |
|
mode |
string | Režim doručení dat do cílového výpočetního objektu Režim direct předá adresu URL umístění úložiště jako vstup komponenty. Máte plnou zodpovědnost za zpracování přihlašovacích údajů pro přístup k úložišti. |
direct |
Výstupy komponent
Klíč | Typ | Popis | Povolené hodnoty | Default value |
---|---|---|---|---|
type |
string | Typ výstupu komponenty. | uri_file , uri_folder |
|
mode |
string | Režim doručení výstupních souborů do cílového prostředku úložiště. | direct |
Poznámky
Příkazy az ml component
se dají použít ke správě komponenty Spark služby Azure Machine Learning.
Příklady
Příklady jsou k dispozici v příkladech v úložišti GitHub. Zobrazí se několik dalších.
YAML: Ukázková komponenta Sparku
# 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: Ukázková úloha kanálu s komponentou Sparku
# 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>