Delen via


YAML-schema van CLI (v2) Spark-onderdeel

VAN TOEPASSING OP: Azure CLI ml-extensie v2 (huidige)

Notitie

De YAML-syntaxis die in dit document wordt beschreven, is gebaseerd op het JSON-schema voor de nieuwste versie van de ML CLI v2-extensie. Deze syntaxis werkt gegarandeerd alleen met de nieuwste versie van de ML CLI v2-extensie. U vindt de schema's voor oudere extensieversies op https://azuremlschemasprod.azureedge.net/.

YAML-syntaxis

Sleutel Type Description Toegestane waarden Default value
$schema tekenreeks Het YAML-schema. Als u de Azure Machine Learning VS Code-extensie gebruikt om het YAML-bestand te ontwerpen, inclusief $schema bovenaan het bestand, kunt u schema- en resourcevoltooiingen aanroepen.
type Const Vereist. Het type onderdeel. spark
name tekenreeks Vereist. Naam van het onderdeel. Moet beginnen met kleine letters. Toegestane tekens zijn kleine letters, cijfers en onderstrepingstekens(_). De maximale lengte is 255 tekens.
version tekenreeks Versie van het onderdeel. Als u dit weglaat, wordt in Azure Machine Learning automatisch een versie gegenereerd.
display_name tekenreeks Weergavenaam van het onderdeel in de gebruikersinterface van studio. Kan niet-zelfstandig zijn binnen de werkruimte.
description tekenreeks Beschrijving van het onderdeel.
tags object Woordenlijst met tags voor het onderdeel.
code tekenreeks Vereist. De locatie van de map die broncode en scripts voor het onderdeel bevat.
entry object Vereist. Het toegangspunt voor het onderdeel. Het kan een file.
entry.file tekenreeks De locatie van de map die broncode en scripts voor het onderdeel bevat.
py_files object Een lijst met .zipbestanden of .egg.py bestanden die moeten worden geplaatst in de PYTHONPATH, voor een geslaagde uitvoering van de taak met dit onderdeel.
jars object Een lijst met .jar bestanden die moeten worden opgenomen in het Spark-stuurprogramma en de uitvoerder CLASSPATHvoor een geslaagde uitvoering van de taak met dit onderdeel.
files object Een lijst met bestanden die moeten worden gekopieerd naar de werkmap van elke uitvoerder, voor een geslaagde uitvoering van de taak met dit onderdeel.
archives object Een lijst met archieven die moeten worden geëxtraheerd in de werkmap van elke uitvoerder, voor een geslaagde uitvoering van de taak met dit onderdeel.
conf object Het Spark-stuurprogramma en de uitvoerderseigenschappen. Kenmerken van de conf sleutel bekijken
environment tekenreeks of object De omgeving die moet worden gebruikt voor het onderdeel. Deze waarde kan een verwijzing zijn naar een bestaande versieomgeving in de werkruimte of een inline-omgevingsspecificatie.

Als u naar een bestaande omgeving wilt verwijzen, gebruikt u de azureml:<environment_name>:<environment_version> syntaxis of azureml:<environment_name>@latest (om te verwijzen naar de nieuwste versie van een omgeving).

Als u een omgeving inline wilt definiëren, volgt u het omgevingsschema. Sluit de name en version eigenschappen uit, omdat inlineomgevingen deze niet ondersteunen.
args tekenreeks De opdrachtregelargumenten die moeten worden doorgegeven aan het Python-script voor het onderdeelinvoerpunt. Deze argumenten kunnen de paden van invoergegevens en de locatie bevatten om de uitvoer te schrijven, bijvoorbeeld "--input_data ${{inputs.<input_name>}} --output_path ${{outputs.<output_name>}}"
inputs object Woordenlijst van onderdeelinvoer. De sleutel is een naam voor de invoer binnen de context van het onderdeel en de waarde is de invoerwaarde.

In de args ${{ inputs.<input_name> }} expressie kan naar invoer worden verwezen.
inputs.<input_name> getal, geheel getal, booleaanse waarde, tekenreeks of object Een van een letterlijke waarde (van het type getal, geheel getal, booleaanse waarde of tekenreeks) of een object met een specificatie van de invoergegevens van een onderdeel.
outputs object Woordenlijst met uitvoerconfiguraties van het onderdeel. De sleutel is een naam voor de uitvoer binnen de context van het onderdeel en de waarde is de uitvoerconfiguratie.

Er kan naar uitvoer worden verwezen in de args expressie ${{ outputs.<output_name> }} .
outputs.<output_name> object De uitvoer van het Spark-onderdeel. Uitvoer voor een Spark-onderdeel kan worden geschreven naar een bestand of een maplocatie door een object op te geven dat de specificatie van de onderdeeluitvoer bevat.

Kenmerken van de conf sleutel

Sleutel Type Description Default value
spark.driver.cores geheel getal Het aantal kernen voor het Spark-stuurprogramma.
spark.driver.memory tekenreeks Toegewezen geheugen voor het Spark-stuurprogramma, bijvoorbeeld in gigabytes (GB). 2g
spark.executor.cores geheel getal Het aantal kernen voor de Spark-uitvoerprogramma.
spark.executor.memory tekenreeks Toegewezen geheugen voor de Spark-uitvoerfunctie, bijvoorbeeld 2gin gigabytes (GB).
spark.dynamicAllocation.enabled boolean Of uitvoerders dynamisch moeten worden toegewezen als een True of False andere waarde. Als deze eigenschap is ingesteld True, definieert spark.dynamicAllocation.minExecutors en spark.dynamicAllocation.maxExecutors. Als deze eigenschap is ingesteld op False, definieert u spark.executor.instances. False
spark.dynamicAllocation.minExecutors geheel getal Het minimale aantal Spark-uitvoerders voor dynamische toewijzing.
spark.dynamicAllocation.maxExecutors geheel getal Het maximum aantal Spark-uitvoerders voor dynamische toewijzing.
spark.executor.instances geheel getal Het aantal Spark-uitvoerders.

Onderdeelinvoer

Sleutel Type Description Toegestane waarden Default value
type tekenreeks Het type onderdeelinvoer. Geef uri_file op voor invoergegevens die naar één bestandsbron verwijst of uri_folder voor invoergegevens die naar een mapbron verwijst. Meer informatie over gegevenstoegang. uri_file, uri_folder
mode tekenreeks Modus van hoe de gegevens moeten worden geleverd aan het rekendoel. De direct modus geeft de URL van de opslaglocatie door als onderdeelinvoer. U hebt volledige verantwoordelijkheid voor het afhandelen van toegangsreferenties voor opslag. direct

Uitvoer van onderdelen

Sleutel Type Description Toegestane waarden Default value
type tekenreeks Het type onderdeeluitvoer. uri_file, uri_folder
mode tekenreeks De leveringsmodus van de uitvoerbestanden aan de doelopslagresource. direct

Opmerkingen

De az ml component opdrachten kunnen worden gebruikt voor het beheren van het Azure Machine Learning Spark-onderdeel.

Voorbeelden

Voorbeelden zijn beschikbaar in de GitHub-voorbeeldenopslagplaats. Hierna worden er verschillende weergegeven.

YAML: een spark-voorbeeldonderdeel

# 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: een voorbeeldpijplijntaak met een Spark-onderdeel

# 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>

Volgende stappen