SynapseSparkStep Klasse
Hinweis
Dies ist eine experimentelle Klasse, die jederzeit geändert werden kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.
Erstellt einen Azure ML Synapse-Schritt zum Übermitteln und Ausführen von Python-Skripts.
Erstellen Sie einen Azure ML Pipeline-Schritt, der spark-Auftrag im synapse Spark-Pool ausführt.
- Vererbung
-
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)
Parameter
Name | Beschreibung |
---|---|
file
Erforderlich
|
Der Name eines Synapseskripts relativ zu source_directory. |
source_directory
Erforderlich
|
Ein Ordner, der Python-Skripts, die Conda-Umgebung und andere Ressourcen enthält, die im Schritt verwendet werden. |
compute_target
Erforderlich
|
SynapseCompute oder
str
Das zu verwendende Computeziel. |
driver_memory
Erforderlich
|
Die Menge an Arbeitsspeicher, die für den Treiberprozess verwendet werden soll. |
driver_cores
Erforderlich
|
Die Anzahl der Kerne, die für den Treiberprozess verwendet werden sollen. |
executor_memory
Erforderlich
|
Die Menge an Arbeitsspeicher, die pro Executorprozess verwendet werden soll. |
executor_cores
Erforderlich
|
Die Anzahl von Kernen, die für jeden Executor verwendet werden sollen. |
num_executors
Erforderlich
|
Die Anzahl der Executors, die für diese Sitzung gestartet werden sollen. |
name
Erforderlich
|
Der Name des Schritts. Wenn keine Angabe erfolgt, wird |
app_name
Erforderlich
|
Der App-Name, der zum Übermitteln des Spark-Auftrags verwendet wird. |
environment
Erforderlich
|
Diese AML-Umgebung wird in einem späteren Release unterstützt. |
arguments
Erforderlich
|
Befehlszeilenargumente für die Synapse-Skriptdatei. |
inputs
Erforderlich
|
Eine Liste von Eingaben. |
outputs
Erforderlich
|
Eine Liste von Ausgaben. |
conf
Erforderlich
|
Eigenschaften der Spark-Konfiguration. |
py_files
Erforderlich
|
Python-Dateien, die in dieser Sitzung verwendet werden sollen, Parameter der Livy-API. |
files
Erforderlich
|
Dateien, die in dieser Sitzung verwendet werden sollen, Parameter der Livy-API. |
allow_reuse
Erforderlich
|
Gibt an, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen erneut ausgeführt wird. |
version
Erforderlich
|
Ein optionales Versionstag, um eine Änderung der Funktionalität für den Schritt zu kennzeichnen. |
file
Erforderlich
|
Der Name eines Synapse-Skripts relativ zu |
source_directory
Erforderlich
|
Ein Ordner, der Python-Skripts, die Conda-Umgebung und andere Ressourcen enthält, die im Schritt verwendet werden. |
compute_target
Erforderlich
|
SynapseCompute oder
str
Das zu verwendende Computeziel. |
driver_memory
Erforderlich
|
Die Menge an Arbeitsspeicher, die für den Treiberprozess verwendet werden soll. |
driver_cores
Erforderlich
|
Die Anzahl der Kerne, die für den Treiberprozess verwendet werden sollen. |
executor_memory
Erforderlich
|
Die Menge an Arbeitsspeicher, die pro Executorprozess verwendet werden soll. |
executor_cores
Erforderlich
|
Die Anzahl von Kernen, die für jeden Executor verwendet werden sollen. |
num_executors
Erforderlich
|
Die Anzahl der Executors, die für diese Sitzung gestartet werden sollen. |
name
Erforderlich
|
Der Name des Schritts. Wenn keine Angabe erfolgt, wird |
app_name
Erforderlich
|
Der App-Name, der zum Übermitteln des Apache Spark-Auftrags verwendet wird. |
environment
Erforderlich
|
AML-Umgebung, die in diesem SynapseSparkStep genutzt wird. |
arguments
Erforderlich
|
Befehlszeilenargumente für die Synapse-Skriptdatei. |
inputs
Erforderlich
|
Eine Liste von Eingaben. |
outputs
Erforderlich
|
Eine Liste von Ausgaben. |
conf
Erforderlich
|
Eigenschaften der Spark-Konfiguration. |
py_files
Erforderlich
|
Python-Dateien, die in dieser Sitzung verwendet werden sollen, Parameter der Livy-API. |
jars
Erforderlich
|
JAR-Dateien, die in dieser Sitzung verwendet werden sollen, Parameter der livy-API. |
files
Erforderlich
|
Dateien, die in dieser Sitzung verwendet werden sollen, Parameter der Livy-API. |
allow_reuse
Erforderlich
|
Gibt an, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen erneut ausgeführt wird. |
version
Erforderlich
|
Ein optionales Versionstag, um eine Änderung der Funktionalität für den Schritt zu kennzeichnen. |
Hinweise
SynapseSparkStep ist ein grundlegender, integrierter Schritt zum Ausführen eines Python Spark-Auftrags in einem Synapse Spark-Pool. Er nimmt einen Hauptdateinamen und andere optionale Parameter wie Argumente für das Skript, das Computeziel, Eingaben und Ausgaben entgegen.
Die bewährte Methode für die Arbeit mit SynapseSparkStep ist die Verwendung eines separaten Ordners für Skripts und alle abhängigen Dateien, die dem Schritt zugeordnet sind, und das Angeben dieses Ordners mit dem source_directory
-Parameter.
Das Befolgen dieser bewährten Methode bietet zwei Vorteile. Erstens kann die Größe der für den Schritt erstellten Momentaufnahme reduziert werden, da nur die für den Schritt benötigte Momentaufnahme erstellt wird. Zweitens kann die Ausgabe des Schritts aus einer vorherigen Ausführung wiederverwendet werden, wenn keine Änderungen am source_directory
vorgenommen wurden, die einen erneuten Upload der Momentaufnahme auslösen würden.
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 unterstützt nur DatasetConsumptionConfig als Eingabe und HDFSOutputDatasetConfig als Ausgabe.
Methoden
create_node |
Erstellt einen Knoten für den Synapse-Skriptschritt. Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt. |
create_node
Erstellt einen Knoten für den Synapse-Skriptschritt.
Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt.
create_node(graph, default_datastore, context)
Parameter
Name | Beschreibung |
---|---|
graph
Erforderlich
|
Das Graphobjekt, dem der Knoten hinzugefügt werden soll. |
default_datastore
Erforderlich
|
Der Standarddatenspeicher. |
context
Erforderlich
|
<xref:azureml.pipeline.core._GraphContext>
Der Graphkontext. |
Gibt zurück
Typ | Beschreibung |
---|---|
Der erstellte Knoten. |