Partager via


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
str

Nom d’un script synapse relatif à source_directory.

source_directory
Obligatoire
str

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
str

Quantité de mémoire à utiliser pour le processus du pilote.

driver_cores
Obligatoire
int

Nombre de cœurs à utiliser pour le processus de pilote.

executor_memory
Obligatoire
str

Quantité de mémoire à utiliser par processus d’exécuteur.

executor_cores
Obligatoire
int

Nombre de cœurs à utiliser pour chaque exécuteur.

num_executors
Obligatoire
int

Nombre d’exécuteurs à lancer pour cette session.

name
Obligatoire
str

Nom de l’étape. S’il n’est pas spécifié, file est utilisé.

app_name
Obligatoire
str

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
str

Balise de version facultative pour indiquer une modification des fonctionnalités de l’étape.

file
Obligatoire
str

Nom d’un script Synapse relatif à source_directory.

source_directory
Obligatoire
str

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
str

Quantité de mémoire à utiliser pour le processus du pilote.

driver_cores
Obligatoire
int

Nombre de cœurs à utiliser pour le processus de pilote.

executor_memory
Obligatoire
str

Quantité de mémoire à utiliser par processus d’exécuteur.

executor_cores
Obligatoire
int

Nombre de cœurs à utiliser pour chaque exécuteur.

num_executors
Obligatoire
int

Nombre d’exécuteurs à lancer pour cette session.

name
Obligatoire
str

Nom de l’étape. S’il n’est pas spécifié, file est utilisé.

app_name
Obligatoire
str

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
str

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éé.