Dela via


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, .eggeller .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 CLASSPATHfö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 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.

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>

Nästa steg