Freigeben über


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._SynapseSparkStepBase
SynapseSparkStep

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
str

Der Name eines Synapseskripts relativ zu source_directory.

source_directory
Erforderlich
str

Ein Ordner, der Python-Skripts, die Conda-Umgebung und andere Ressourcen enthält, die im Schritt verwendet werden.

compute_target
Erforderlich

Das zu verwendende Computeziel.

driver_memory
Erforderlich
str

Die Menge an Arbeitsspeicher, die für den Treiberprozess verwendet werden soll.

driver_cores
Erforderlich
int

Die Anzahl der Kerne, die für den Treiberprozess verwendet werden sollen.

executor_memory
Erforderlich
str

Die Menge an Arbeitsspeicher, die pro Executorprozess verwendet werden soll.

executor_cores
Erforderlich
int

Die Anzahl von Kernen, die für jeden Executor verwendet werden sollen.

num_executors
Erforderlich
int

Die Anzahl der Executors, die für diese Sitzung gestartet werden sollen.

name
Erforderlich
str

Der Name des Schritts. Wenn keine Angabe erfolgt, wird file verwendet.

app_name
Erforderlich
str

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
str

Ein optionales Versionstag, um eine Änderung der Funktionalität für den Schritt zu kennzeichnen.

file
Erforderlich
str

Der Name eines Synapse-Skripts relativ zu source_directory.

source_directory
Erforderlich
str

Ein Ordner, der Python-Skripts, die Conda-Umgebung und andere Ressourcen enthält, die im Schritt verwendet werden.

compute_target
Erforderlich

Das zu verwendende Computeziel.

driver_memory
Erforderlich
str

Die Menge an Arbeitsspeicher, die für den Treiberprozess verwendet werden soll.

driver_cores
Erforderlich
int

Die Anzahl der Kerne, die für den Treiberprozess verwendet werden sollen.

executor_memory
Erforderlich
str

Die Menge an Arbeitsspeicher, die pro Executorprozess verwendet werden soll.

executor_cores
Erforderlich
int

Die Anzahl von Kernen, die für jeden Executor verwendet werden sollen.

num_executors
Erforderlich
int

Die Anzahl der Executors, die für diese Sitzung gestartet werden sollen.

name
Erforderlich
str

Der Name des Schritts. Wenn keine Angabe erfolgt, wird file verwendet.

app_name
Erforderlich
str

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
str

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.