SynapseSparkStep Classe
Remarque
Il s’agit d’une classe expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Crée une étape Azure ML Synapse qui envoie et exécute un script Python.
Créez une étape de pipeline Azure ML qui exécute un travail Spark sur un pool Spark synapse.
Constructeur
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)
Paramètres
Nom | Description |
---|---|
file
Obligatoire
|
Nom d’un script synapse relatif à source_directory. |
source_directory
Obligatoire
|
Dossier qui contient le script Python, conda env et d’autres ressources utilisées à l’étape. |
compute_target
Obligatoire
|
Cible de calcul à utiliser. |
driver_memory
Obligatoire
|
Quantité de mémoire à utiliser pour le processus du pilote. |
driver_cores
Obligatoire
|
Nombre de cœurs à utiliser pour le processus de pilote. |
executor_memory
Obligatoire
|
Quantité de mémoire à utiliser par processus d’exécuteur. |
executor_cores
Obligatoire
|
Nombre de cœurs à utiliser pour chaque exécuteur. |
num_executors
Obligatoire
|
Nombre d’exécuteurs à lancer pour cette session. |
name
Obligatoire
|
Nom de l’étape. S’il n’est pas spécifié, |
app_name
Obligatoire
|
Nom de l’application utilisé pour envoyer le travail Spark. |
environment
Obligatoire
|
L’environnement AML sera pris en charge dans la version ultérieure. |
arguments
Obligatoire
|
Arguments de ligne de commande pour le fichier de script Synapse. |
inputs
Obligatoire
|
Liste des entrées. |
outputs
Obligatoire
|
Liste des sorties. |
conf
Obligatoire
|
Propriétés de configuration Spark. |
py_files
Obligatoire
|
Fichiers Python à utiliser dans cette session, paramètre de l’API livy. |
files
Obligatoire
|
Fichiers à utiliser dans cette session, paramètre de l’API livy. |
allow_reuse
Obligatoire
|
Indique si l’étape doit réutiliser les résultats précédents lors de la réexécutation avec les mêmes paramètres. |
version
Obligatoire
|
Balise de version facultative pour indiquer une modification des fonctionnalités de l’étape. |
file
Obligatoire
|
Nom d’un script Synapse relatif à |
source_directory
Obligatoire
|
Dossier qui contient le script Python, conda env et d’autres ressources utilisées à l’étape. |
compute_target
Obligatoire
|
Cible de calcul à utiliser. |
driver_memory
Obligatoire
|
Quantité de mémoire à utiliser pour le processus du pilote. |
driver_cores
Obligatoire
|
Nombre de cœurs à utiliser pour le processus de pilote. |
executor_memory
Obligatoire
|
Quantité de mémoire à utiliser par processus d’exécuteur. |
executor_cores
Obligatoire
|
Nombre de cœurs à utiliser pour chaque exécuteur. |
num_executors
Obligatoire
|
Nombre d’exécuteurs à lancer pour cette session. |
name
Obligatoire
|
Nom de l’étape. S’il n’est pas spécifié, |
app_name
Obligatoire
|
Nom de l’application utilisé pour envoyer le travail Apache Spark. |
environment
Obligatoire
|
Environnement AML qui sera utilisé dans ce SynapseSparkStep. |
arguments
Obligatoire
|
Arguments de ligne de commande pour le fichier de script Synapse. |
inputs
Obligatoire
|
Liste des entrées. |
outputs
Obligatoire
|
Liste des sorties. |
conf
Obligatoire
|
Propriétés de configuration Spark. |
py_files
Obligatoire
|
Fichiers Python à utiliser dans cette session, paramètre de l’API livy. |
jars
Obligatoire
|
Fichiers jar à utiliser dans cette session, paramètre de l’API livy. |
files
Obligatoire
|
Fichiers à utiliser dans cette session, paramètre de l’API livy. |
allow_reuse
Obligatoire
|
Indique si l’étape doit réutiliser les résultats précédents lors de la réexécutation avec les mêmes paramètres. |
version
Obligatoire
|
Balise de version facultative pour indiquer une modification des fonctionnalités de l’étape. |
Remarques
Un SynapseSparkStep est une étape intégrée de base pour exécuter un travail Python Spark sur des pools Synapse Spark. Il prend un nom de fichier principal et d’autres paramètres facultatifs tels que des arguments pour le script, la cible de calcul, les entrées et les sorties.
La meilleure pratique pour l’utilisation de SynapseSparkStep consiste à utiliser un dossier distinct pour les scripts et tous les fichiers dépendants associés à l’étape, et spécifier ce dossier avec le source_directory
paramètre.
Le suivi de cette bonne pratique présente deux avantages. Tout d’abord, il permet de réduire la taille de l’instantané créé pour l’étape, car seul ce qui est nécessaire pour l’étape est instantané. Deuxièmement, la sortie de l’étape à partir d’une exécution précédente peut être réutilisée s’il n’y a aucune modification apportée à source_directory
celle qui déclencherait un nouveau chargement de l’instantané.
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 prend uniquement en charge DatasetConsumptionConfig comme entrée et HDFSOutputDatasetConfig comme sortie.
Méthodes
create_node |
Créez un nœud pour l’étape de script Synapse. Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec cette étape, Azure ML transmet automatiquement les paramètres requis par cette méthode afin que cette étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail. |
create_node
Créez un nœud pour l’étape de script Synapse.
Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec cette étape, Azure ML transmet automatiquement les paramètres requis par cette méthode afin que cette étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail.
create_node(graph, default_datastore, context)
Paramètres
Nom | Description |
---|---|
graph
Obligatoire
|
Objet graphique auquel ajouter le nœud. |
default_datastore
Obligatoire
|
Magasin de données par défaut. |
context
Obligatoire
|
<xref:azureml.pipeline.core._GraphContext>
Contexte de graphe. |
Retours
Type | Description |
---|---|
Nœud créé. |