SynapseSparkStep Klass
Anteckning
Det här är en experimentell klass och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.
Skapar ett Azure ML Synapse-steg som skickar och kör Python-skript.
Skapa ett Azure ML Pipeline-steg som kör Spark-jobb i Synapse Spark-poolen.
- Arv
-
azureml.pipeline.core._synapse_spark_step_base._SynapseSparkStepBaseSynapseSparkStep
Konstruktor
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)
Parametrar
Name | Description |
---|---|
file
Obligatorisk
|
Namnet på ett synapse-skript i förhållande till source_directory. |
source_directory
Obligatorisk
|
En mapp som innehåller Python-skript, conda env och andra resurser som används i steget. |
compute_target
Obligatorisk
|
SynapseCompute eller
str
Beräkningsmålet som ska användas. |
driver_memory
Obligatorisk
|
Mängden minne som ska användas för drivrutinsprocessen. |
driver_cores
Obligatorisk
|
Antal kärnor som ska användas för drivrutinsprocessen. |
executor_memory
Obligatorisk
|
Mängden minne som ska användas per körprocess. |
executor_cores
Obligatorisk
|
Antal kärnor som ska användas för varje utförare. |
num_executors
Obligatorisk
|
Antal utförare som ska startas för den här sessionen. |
name
Obligatorisk
|
Namnet på steget. Om det är ospecificerat |
app_name
Obligatorisk
|
Appnamnet som används för att skicka spark-jobbet. |
environment
Obligatorisk
|
AML-miljön stöds i senare versioner. |
arguments
Obligatorisk
|
Kommandoradsargument för Synapse-skriptfilen. |
inputs
Obligatorisk
|
En lista över indata. |
outputs
Obligatorisk
|
En lista över utdata. |
conf
Obligatorisk
|
Spark-konfigurationsegenskaper. |
py_files
Obligatorisk
|
Python-filer som ska användas i den här sessionen, parametern för livy API. |
files
Obligatorisk
|
Filer som ska användas i den här sessionen, parametern för livy API. |
allow_reuse
Obligatorisk
|
Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. |
version
Obligatorisk
|
En valfri versionstagg som anger en funktionsändring för steget. |
file
Obligatorisk
|
Namnet på ett Synapse-skript i förhållande till |
source_directory
Obligatorisk
|
En mapp som innehåller Python-skript, conda env och andra resurser som används i steget. |
compute_target
Obligatorisk
|
SynapseCompute eller
str
Beräkningsmålet som ska användas. |
driver_memory
Obligatorisk
|
Mängden minne som ska användas för drivrutinsprocessen. |
driver_cores
Obligatorisk
|
Antal kärnor som ska användas för drivrutinsprocessen. |
executor_memory
Obligatorisk
|
Mängden minne som ska användas per körprocess. |
executor_cores
Obligatorisk
|
Antal kärnor som ska användas för varje utförare. |
num_executors
Obligatorisk
|
Antal utförare som ska startas för den här sessionen. |
name
Obligatorisk
|
Namnet på steget. Om det är ospecificerat |
app_name
Obligatorisk
|
Appnamnet som används för att skicka Apache Spark-jobbet. |
environment
Obligatorisk
|
AML-miljö som kommer att utnyttjas i denna SynapseSparkStep. |
arguments
Obligatorisk
|
Kommandoradsargument för Synapse-skriptfilen. |
inputs
Obligatorisk
|
En lista över indata. |
outputs
Obligatorisk
|
En lista över utdata. |
conf
Obligatorisk
|
Spark-konfigurationsegenskaper. |
py_files
Obligatorisk
|
Python-filer som ska användas i den här sessionen, parametern för livy API. |
jars
Obligatorisk
|
Jar-filer som ska användas i den här sessionen, parametern för livy API. |
files
Obligatorisk
|
Filer som ska användas i den här sessionen, parametern för livy API. |
allow_reuse
Obligatorisk
|
Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. |
version
Obligatorisk
|
En valfri versionstagg som anger en funktionsändring för steget. |
Kommentarer
En SynapseSparkStep är ett grundläggande, inbyggt steg för att köra ett Python Spark-jobb på en Synapse Spark-pool. Det tar ett huvudfilnamn och andra valfria parametrar som argument för skriptet, beräkningsmålet, indata och utdata.
Det bästa sättet att arbeta med SynapseSparkStep är att använda en separat mapp för skript och beroende filer som är associerade med steget och ange mappen med parametern source_directory
.
Att följa den här bästa metoden har två fördelar. Först hjälper det till att minska storleken på ögonblicksbilden som skapats för steget eftersom endast det som behövs för steget ögonblicksbilderas. För det andra kan stegets utdata från en tidigare körning återanvändas om det inte finns några ändringar i source_directory
som skulle utlösa en återuppladdning av ögonblicksbilden.
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 stöder endast DatasetConsumptionConfig som indata och HDFSOutputDatasetConfig som utdata.
Metoder
create_node |
Skapa en nod för Synapse-skriptsteget. Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet. |
create_node
Skapa en nod för Synapse-skriptsteget.
Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.
create_node(graph, default_datastore, context)
Parametrar
Name | Description |
---|---|
graph
Obligatorisk
|
Grafobjektet som noden ska läggas till i. |
default_datastore
Obligatorisk
|
Standarddatalagringen. |
context
Obligatorisk
|
<xref:azureml.pipeline.core._GraphContext>
Grafkontexten. |
Returer
Typ | Description |
---|---|
Den skapade noden. |