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._SynapseSparkStepBaseSynapseSparkStep
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
|
De naam van een synapse-script ten opzichte van source_directory. |
source_directory
Vereist
|
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
|
De hoeveelheid geheugen die moet worden gebruikt voor het stuurprogrammaproces. |
driver_cores
Vereist
|
Het aantal kernen dat moet worden gebruikt voor het stuurprogrammaproces. |
executor_memory
Vereist
|
De hoeveelheid geheugen die per uitvoerderproces moet worden gebruikt. |
executor_cores
Vereist
|
Het aantal kernen dat moet worden gebruikt voor elke uitvoerder. |
num_executors
Vereist
|
Aantal uitvoerders dat voor deze sessie moet worden gestart. |
name
Vereist
|
De naam van de stap. Indien niet opgegeven, |
app_name
Vereist
|
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
|
Een optionele versietag om een wijziging in de functionaliteit voor de stap aan te geven. |
file
Vereist
|
De naam van een Synapse-script ten opzichte |
source_directory
Vereist
|
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
|
De hoeveelheid geheugen die moet worden gebruikt voor het stuurprogrammaproces. |
driver_cores
Vereist
|
Het aantal kernen dat moet worden gebruikt voor het stuurprogrammaproces. |
executor_memory
Vereist
|
De hoeveelheid geheugen die per uitvoerderproces moet worden gebruikt. |
executor_cores
Vereist
|
Het aantal kernen dat moet worden gebruikt voor elke uitvoerder. |
num_executors
Vereist
|
Aantal uitvoerders dat voor deze sessie moet worden gestart. |
name
Vereist
|
De naam van de stap. Indien niet opgegeven, |
app_name
Vereist
|
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
|
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. |