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 .zip bestanden 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 CLASSPATH voor 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 2g in 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>