Delen via


SynapseSparkStep Klas

Notitie

Dit is een experimentele klasse en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/azuremlexperimental voor meer informatie.

Hiermee maakt u een Azure ML Synapse-stap waarmee een Python-script wordt verzonden en uitgevoerd.

Maak een Azure ML-pijplijnstap waarmee een Spark-taak wordt uitgevoerd op synapse Spark-pool.

Overname
azureml.pipeline.core._synapse_spark_step_base._SynapseSparkStepBase
SynapseSparkStep

Constructor

SynapseSparkStep(file, source_directory, compute_target, driver_memory, driver_cores, executor_memory, executor_cores, num_executors, name=None, app_name=None, environment=None, arguments=None, inputs=None, outputs=None, conf=None, py_files=None, jars=None, files=None, allow_reuse=True, version=None)

Parameters

Name Description
file
Vereist
str

De naam van een synapse-script ten opzichte van source_directory.

source_directory
Vereist
str

Een map met Python-script, conda env en andere resources die in de stap worden gebruikt.

compute_target
Vereist

Het te gebruiken rekendoel.

driver_memory
Vereist
str

De hoeveelheid geheugen die moet worden gebruikt voor het stuurprogrammaproces.

driver_cores
Vereist
int

Het aantal kernen dat moet worden gebruikt voor het stuurprogrammaproces.

executor_memory
Vereist
str

De hoeveelheid geheugen die per uitvoerderproces moet worden gebruikt.

executor_cores
Vereist
int

Het aantal kernen dat moet worden gebruikt voor elke uitvoerder.

num_executors
Vereist
int

Aantal uitvoerders dat voor deze sessie moet worden gestart.

name
Vereist
str

De naam van de stap. Indien niet opgegeven, file wordt gebruikt.

app_name
Vereist
str

De app-naam die wordt gebruikt om de Spark-taak te verzenden.

environment
Vereist

AML-omgeving wordt ondersteund in een latere release.

arguments
Vereist

Opdrachtregelargumenten voor het Synapse-scriptbestand.

inputs
Vereist

Een lijst met invoergegevens.

outputs
Vereist

Een lijst met uitvoer.

conf
Vereist

Spark-configuratie-eigenschappen.

py_files
Vereist

Python-bestanden die in deze sessie moeten worden gebruikt, parameter van livy-API.

files
Vereist

Bestanden die in deze sessie moeten worden gebruikt, parameter van livy-API.

allow_reuse
Vereist

Geeft aan of de stap eerdere resultaten opnieuw moet gebruiken wanneer deze opnieuw wordt uitgevoerd met dezelfde instellingen.

version
Vereist
str

Een optionele versietag om een wijziging in de functionaliteit voor de stap aan te geven.

file
Vereist
str

De naam van een Synapse-script ten opzichte source_directoryvan .

source_directory
Vereist
str

Een map met Python-script, conda env en andere resources die in de stap worden gebruikt.

compute_target
Vereist

Het te gebruiken rekendoel.

driver_memory
Vereist
str

De hoeveelheid geheugen die moet worden gebruikt voor het stuurprogrammaproces.

driver_cores
Vereist
int

Het aantal kernen dat moet worden gebruikt voor het stuurprogrammaproces.

executor_memory
Vereist
str

De hoeveelheid geheugen die per uitvoerderproces moet worden gebruikt.

executor_cores
Vereist
int

Het aantal kernen dat moet worden gebruikt voor elke uitvoerder.

num_executors
Vereist
int

Aantal uitvoerders dat voor deze sessie moet worden gestart.

name
Vereist
str

De naam van de stap. Indien niet opgegeven, file wordt gebruikt.

app_name
Vereist
str

De app-naam die wordt gebruikt om de Apache Spark-taak te verzenden.

environment
Vereist

AML-omgeving die wordt gebruikt in deze SynapseSparkStep.

arguments
Vereist

Opdrachtregelargumenten voor het Synapse-scriptbestand.

inputs
Vereist

Een lijst met invoergegevens.

outputs
Vereist

Een lijst met uitvoer.

conf
Vereist

Spark-configuratie-eigenschappen.

py_files
Vereist

Python-bestanden die in deze sessie moeten worden gebruikt, parameter van livy-API.

jars
Vereist

JAR-bestanden die in deze sessie moeten worden gebruikt, parameter van livy-API.

files
Vereist

Bestanden die in deze sessie moeten worden gebruikt, parameter van livy-API.

allow_reuse
Vereist

Geeft aan of de stap eerdere resultaten opnieuw moet gebruiken wanneer deze opnieuw wordt uitgevoerd met dezelfde instellingen.

version
Vereist
str

Een optionele versietag om een wijziging in de functionaliteit voor de stap aan te geven.

Opmerkingen

Een SynapseSparkStep is een eenvoudige, ingebouwde stap voor het uitvoeren van een Python Spark-taak in een Synapse Spark-pools. Hiervoor zijn een hoofdbestandsnaam en andere optionele parameters nodig, zoals argumenten voor het script, rekendoel, invoer en uitvoer.

De aanbevolen procedure voor het werken met SynapseSparkStep is om een afzonderlijke map te gebruiken voor scripts en eventuele afhankelijke bestanden die aan de stap zijn gekoppeld, en die map op te geven met de source_directory parameter . Het volgen van deze best practice heeft twee voordelen. Ten eerste helpt het de grootte van de momentopname te verkleinen die voor de stap is gemaakt, omdat alleen de momentopnamen worden gemaakt die nodig zijn voor de stap. Ten tweede kan de uitvoer van de stap van een vorige uitvoering opnieuw worden gebruikt als er geen wijzigingen zijn in de source_directory die een herupload van de momentopname activeren.


   from azureml.core import Dataset
   from azureml.pipeline.steps import SynapseSparkStep
   from azureml.data import HDFSOutputDatasetConfig

   # get input dataset
   input_ds = Dataset.get_by_name(workspace, "weather_ds").as_named_input("weather_ds")

   # register pipeline output as dataset
   output_ds = HDFSOutputDatasetConfig("synapse_step_output",
                                       destination=(ws.datastores['datastore'],"dir")
                                       ).register_on_complete(name="registered_dataset")

   step_1 = SynapseSparkStep(
       name = "synapse_step",
       file = "pyspark_job.py",
       source_directory="./script",
       inputs=[input_ds],
       outputs=[output_ds],
       compute_target = "synapse",
       driver_memory = "7g",
       driver_cores = 4,
       executor_memory = "7g",
       executor_cores = 2,
       num_executors = 1,
       conf = {})

SynapseSparkStep ondersteunt alleen DatasetConsumptionConfig als invoer en HDFSOutputDatasetConfig als uitvoer.

Methoden

create_node

Maak een knooppunt voor synapse-scriptstap.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn wordt geïnstantieerd met deze stap, geeft Azure ML automatisch de vereiste parameters door via deze methode, zodat deze stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node

Maak een knooppunt voor synapse-scriptstap.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn wordt geïnstantieerd met deze stap, geeft Azure ML automatisch de vereiste parameters door via deze methode, zodat deze stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node(graph, default_datastore, context)

Parameters

Name Description
graph
Vereist

Het grafiekobject waaraan u het knooppunt wilt toevoegen.

default_datastore
Vereist

Het standaardgegevensarchief.

context
Vereist
<xref:azureml.pipeline.core._GraphContext>

De grafiekcontext.

Retouren

Type Description

Het gemaakte knooppunt.