Sdílet prostřednictvím


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, .eggnebo .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 CLASSPATHpro ú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>

Další kroky