Compartir a través de


SynapseSparkStep Clase

Nota:

Se trata de una clase experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para obtener más información.

Crea un paso de Synapse de Azure ML que envía y ejecuta el script de Python.

Cree un paso de canalización de Azure ML que ejecute el trabajo de Spark en el grupo de Spark de Synapse.

Constructor

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)

Parámetros

Nombre Description
file
Requerido
str

Nombre de un script de Synapse relativo a source_directory.

source_directory
Requerido
str

Carpeta que contiene script de Python, conda env y otros recursos usados en el paso.

compute_target
Requerido

Destino de proceso que se va a usar.

driver_memory
Requerido
str

Cantidad de memoria que se va a usar para el proceso del controlador.

driver_cores
Requerido
int

Número de núcleos que se van a usar para el proceso del controlador.

executor_memory
Requerido
str

Cantidad de memoria que se va a usar por proceso de ejecutor.

executor_cores
Requerido
int

Número de núcleos que se usarán para cada ejecutor.

num_executors
Requerido
int

Número de ejecutores que se van a iniciar para esta sesión.

name
Requerido
str

Nombre del paso. Si no se especifica, file se usa .

app_name
Requerido
str

Nombre de la aplicación que se usa para enviar el trabajo de Spark.

environment
Requerido

El entorno de AML se admitirá en versiones posteriores.

arguments
Requerido

Argumentos de línea de comandos para el archivo de script de Synapse.

inputs
Requerido

Una lista de entradas.

outputs
Requerido

Lista de salidas.

conf
Requerido

Propiedades de configuración de Spark.

py_files
Requerido

Archivos de Python que se usarán en esta sesión, parámetro de livy API.

files
Requerido

Archivos que se usarán en esta sesión, parámetro de livy API.

allow_reuse
Requerido

Indica si el paso debe reutilizar los resultados anteriores al volver a ejecutarse con la misma configuración.

version
Requerido
str

Etiqueta de versión opcional para indicar un cambio en la funcionalidad del paso.

file
Requerido
str

Nombre de un script de Synapse relativo a source_directory.

source_directory
Requerido
str

Carpeta que contiene script de Python, conda env y otros recursos usados en el paso.

compute_target
Requerido

Destino de proceso que se va a usar.

driver_memory
Requerido
str

Cantidad de memoria que se va a usar para el proceso del controlador.

driver_cores
Requerido
int

Número de núcleos que se van a usar para el proceso del controlador.

executor_memory
Requerido
str

Cantidad de memoria que se va a usar por proceso de ejecutor.

executor_cores
Requerido
int

Número de núcleos que se usarán para cada ejecutor.

num_executors
Requerido
int

Número de ejecutores que se van a iniciar para esta sesión.

name
Requerido
str

Nombre del paso. Si no se especifica, file se usa .

app_name
Requerido
str

Nombre de la aplicación que se usa para enviar el trabajo de Apache Spark.

environment
Requerido

Entorno AML que se aprovechará en este SynapseSparkStep.

arguments
Requerido

Argumentos de línea de comandos para el archivo de script de Synapse.

inputs
Requerido

Una lista de entradas.

outputs
Requerido

Lista de salidas.

conf
Requerido

Propiedades de configuración de Spark.

py_files
Requerido

Archivos de Python que se usarán en esta sesión, parámetro de livy API.

jars
Requerido

Archivos JAR que se usarán en esta sesión, parámetro de livy API.

files
Requerido

Archivos que se usarán en esta sesión, parámetro de livy API.

allow_reuse
Requerido

Indica si el paso debe reutilizar los resultados anteriores al volver a ejecutarse con la misma configuración.

version
Requerido
str

Etiqueta de versión opcional para indicar un cambio en la funcionalidad del paso.

Comentarios

SynapseSparkStep es un paso básico integrado para ejecutar un trabajo de Spark de Python en grupos de Spark de Synapse. Toma un nombre de archivo principal y otros parámetros opcionales, como argumentos para el script, el destino de proceso, las entradas y las salidas.

El procedimiento recomendado para trabajar con SynapseSparkStep es usar una carpeta independiente para scripts y los archivos dependientes asociados al paso y especificar esa carpeta con el source_directory parámetro . Seguir este procedimiento recomendado tiene dos ventajas. En primer lugar, ayuda a reducir el tamaño de la instantánea creada para el paso porque solo se instantánea lo que se necesita para el paso. En segundo lugar, la salida del paso de una ejecución anterior se puede reutilizar si no hay ningún cambio en que source_directory desencadenaría una nueva carga de la instantánea.


   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 solo admite DatasetConsumptionConfig como entrada y HDFSOutputDatasetConfig como salida.

Métodos

create_node

Cree un nodo para el paso de script de Synapse.

Este método no está pensado para usarse directamente. Cuando se crea una instancia de una canalización con este paso, Azure ML pasa automáticamente los parámetros necesarios a través de este método para que el paso se pueda agregar a un grafo de canalización que represente el flujo de trabajo.

create_node

Cree un nodo para el paso de script de Synapse.

Este método no está pensado para usarse directamente. Cuando se crea una instancia de una canalización con este paso, Azure ML pasa automáticamente los parámetros necesarios a través de este método para que el paso se pueda agregar a un grafo de canalización que represente el flujo de trabajo.

create_node(graph, default_datastore, context)

Parámetros

Nombre Description
graph
Requerido

Objeto de grafo al que se va a agregar el nodo.

default_datastore
Requerido

Almacén de datos predeterminado.

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

Contexto del grafo.

Devoluciones

Tipo Description

Nodo creado.