Condividi tramite


SynapseSparkStep Classe

Nota

Si tratta di una classe sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.

Crea un passaggio di Azure ML Synapse che invia ed esegue script Python.

Creare un passaggio della pipeline di Azure ML che esegue il processo Spark nel pool di spark synapse.

Ereditarietà
azureml.pipeline.core._synapse_spark_step_base._SynapseSparkStepBase
SynapseSparkStep

Costruttore

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)

Parametri

Nome Descrizione
file
Necessario
str

Nome di uno script synapse relativo a source_directory.

source_directory
Necessario
str

Cartella che contiene script Python, conda env e altre risorse usate nel passaggio.

compute_target
Necessario

Destinazione di calcolo da usare.

driver_memory
Necessario
str

Quantità di memoria da usare per il processo del driver.

driver_cores
Necessario
int

Numero di core da usare per il processo del driver.

executor_memory
Necessario
str

Quantità di memoria da usare per un processo executor.

executor_cores
Necessario
int

Numero di core da usare per ogni executor.

num_executors
Necessario
int

Numero di executor da avviare per questa sessione.

name
Necessario
str

Nome del passaggio. Se non specificato, file viene utilizzato .

app_name
Necessario
str

Nome dell'app usato per inviare il processo Spark.

environment
Necessario

L'ambiente AML sarà supportato in una versione successiva.

arguments
Necessario

Argomenti della riga di comando per il file di script Synapse.

inputs
Necessario

Elenco di input.

outputs
Necessario

Elenco di output.

conf
Necessario

Proprietà di configurazione di Spark.

py_files
Necessario

File Python da usare in questa sessione, parametro dell'API livy.

files
Necessario

File da usare in questa sessione, parametro dell'API livy.

allow_reuse
Necessario

Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue nuovamente con le stesse impostazioni.

version
Necessario
str

Tag di versione facoltativo per indicare una modifica delle funzionalità per il passaggio.

file
Necessario
str

Nome di uno script Synapse relativo a source_directory.

source_directory
Necessario
str

Cartella che contiene script Python, conda env e altre risorse usate nel passaggio.

compute_target
Necessario

Destinazione di calcolo da usare.

driver_memory
Necessario
str

Quantità di memoria da usare per il processo del driver.

driver_cores
Necessario
int

Numero di core da usare per il processo del driver.

executor_memory
Necessario
str

Quantità di memoria da usare per un processo executor.

executor_cores
Necessario
int

Numero di core da usare per ogni executor.

num_executors
Necessario
int

Numero di executor da avviare per questa sessione.

name
Necessario
str

Nome del passaggio. Se non specificato, file viene utilizzato .

app_name
Necessario
str

Nome dell'app usato per inviare il processo Apache Spark.

environment
Necessario

Ambiente AML che verrà usato in questo SynapseSparkStep.

arguments
Necessario

Argomenti della riga di comando per il file di script Synapse.

inputs
Necessario

Elenco di input.

outputs
Necessario

Elenco di output.

conf
Necessario

Proprietà di configurazione di Spark.

py_files
Necessario

File Python da usare in questa sessione, parametro dell'API livy.

jars
Necessario

File JAR da usare in questa sessione, parametro dell'API livy.

files
Necessario

File da usare in questa sessione, parametro dell'API livy.

allow_reuse
Necessario

Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue nuovamente con le stesse impostazioni.

version
Necessario
str

Tag di versione facoltativo per indicare una modifica delle funzionalità per il passaggio.

Commenti

Un synapseSparkStep è un passaggio predefinito di base per eseguire un processo Spark Python in pool di spark synapse. Accetta un nome di file principale e altri parametri facoltativi, ad esempio argomenti per lo script, la destinazione di calcolo, gli input e gli output.

La procedura consigliata per l'uso di SynapseSparkStep consiste nell'usare una cartella separata per gli script e tutti i file dipendenti associati al passaggio e specificare tale cartella con il source_directory parametro . Seguendo questa procedura consigliata sono disponibili due vantaggi. In primo luogo, consente di ridurre le dimensioni dello snapshot creato per il passaggio perché viene creato uno snapshot solo degli elementi necessari per il passaggio. In secondo luogo, l'output del passaggio di un'esecuzione precedente può essere riutilizzato se non sono presenti modifiche a source_directory che attiverebbero un nuovo caricamento dello snapshot.


   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 supporta solo DatasetConsumptionConfig come input e HDFSOutputDatasetConfig come output.

Metodi

create_node

Creare un nodo per il passaggio script di Synapse.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che tale passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.

create_node

Creare un nodo per il passaggio script di Synapse.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che tale passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.

create_node(graph, default_datastore, context)

Parametri

Nome Descrizione
graph
Necessario

Oggetto grafico a cui aggiungere il nodo.

default_datastore
Necessario

Archivio dati predefinito.

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

Contesto del grafo.

Restituisce

Tipo Descrizione

Nodo creato.