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._SynapseSparkStepBaseSynapseSparkStep
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
|
Nome di uno script synapse relativo a source_directory. |
source_directory
Necessario
|
Cartella che contiene script Python, conda env e altre risorse usate nel passaggio. |
compute_target
Necessario
|
SynapseCompute oppure
str
Destinazione di calcolo da usare. |
driver_memory
Necessario
|
Quantità di memoria da usare per il processo del driver. |
driver_cores
Necessario
|
Numero di core da usare per il processo del driver. |
executor_memory
Necessario
|
Quantità di memoria da usare per un processo executor. |
executor_cores
Necessario
|
Numero di core da usare per ogni executor. |
num_executors
Necessario
|
Numero di executor da avviare per questa sessione. |
name
Necessario
|
Nome del passaggio. Se non specificato, |
app_name
Necessario
|
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
|
Tag di versione facoltativo per indicare una modifica delle funzionalità per il passaggio. |
file
Necessario
|
Nome di uno script Synapse relativo a |
source_directory
Necessario
|
Cartella che contiene script Python, conda env e altre risorse usate nel passaggio. |
compute_target
Necessario
|
SynapseCompute oppure
str
Destinazione di calcolo da usare. |
driver_memory
Necessario
|
Quantità di memoria da usare per il processo del driver. |
driver_cores
Necessario
|
Numero di core da usare per il processo del driver. |
executor_memory
Necessario
|
Quantità di memoria da usare per un processo executor. |
executor_cores
Necessario
|
Numero di core da usare per ogni executor. |
num_executors
Necessario
|
Numero di executor da avviare per questa sessione. |
name
Necessario
|
Nome del passaggio. Se non specificato, |
app_name
Necessario
|
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
|
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. |