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 más información.

Crea un paso de Azure ML Synapse 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.

Herencia
azureml.pipeline.core._synapse_spark_step_base._SynapseSparkStepBase
SynapseSparkStep

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 el script de Python, el entorno Conda y otros recursos que se usan en el paso.

compute_target
Requerido

El destino de proceso que se usará.

driver_memory
Requerido
str

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

driver_cores
Requerido
int

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

executor_memory
Requerido
str

Cantidad de memoria que se usará por proceso de ejecutor.

executor_cores
Requerido
int

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

num_executors
Requerido
int

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

name
Requerido
str

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

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

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 volver a usar los resultados anteriores cuando se ejecuta con la misma configuración.

version
Requerido
str

Una 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 el script de Python, el entorno Conda y otros recursos que se usan en el paso.

compute_target
Requerido

El destino de proceso que se usará.

driver_memory
Requerido
str

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

driver_cores
Requerido
int

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

executor_memory
Requerido
str

Cantidad de memoria que se usará por proceso de ejecutor.

executor_cores
Requerido
int

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

num_executors
Requerido
int

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

name
Requerido
str

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

app_name
Requerido
str

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

environment
Requerido

Entorno de AML que se aprovechará en este SynapseSparkStep.

arguments
Requerido

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

inputs
Requerido

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 volver a usar los resultados anteriores cuando se ejecuta con la misma configuración.

version
Requerido
str

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

Comentarios

SynapseSparkStep es un paso básico e 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 los scripts y los archivos dependientes asociados al paso, y especificar esa carpeta con el parámetro source_directory. 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 crea una instantánea de 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 source_directory que desencadene 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.

No se debe llamar a este método 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 ese paso se pueda agregar a un gráfico de canalización que represente el flujo de trabajo.

create_node

Cree un nodo para el paso de script de Synapse.

No se debe llamar a este método 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 ese paso se pueda agregar a un gráfico de canalización que represente el flujo de trabajo.

create_node(graph, default_datastore, context)

Parámetros

Nombre Description
graph
Requerido

El objeto de grafo al que se agrega el nodo.

default_datastore
Requerido

El almacén de datos predeterminado.

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

El contexto del grafo.

Devoluciones

Tipo Description

El nodo creado.