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
|
Nombre de un script de Synapse relativo a source_directory. |
source_directory
Requerido
|
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
|
Cantidad de memoria que se va a usar para el proceso del controlador. |
driver_cores
Requerido
|
Número de núcleos que se van a usar para el proceso del controlador. |
executor_memory
Requerido
|
Cantidad de memoria que se va a usar por proceso de ejecutor. |
executor_cores
Requerido
|
Número de núcleos que se usarán para cada ejecutor. |
num_executors
Requerido
|
Número de ejecutores que se van a iniciar para esta sesión. |
name
Requerido
|
Nombre del paso. Si no se especifica, |
app_name
Requerido
|
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
|
Etiqueta de versión opcional para indicar un cambio en la funcionalidad del paso. |
file
Requerido
|
Nombre de un script de Synapse relativo a |
source_directory
Requerido
|
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
|
Cantidad de memoria que se va a usar para el proceso del controlador. |
driver_cores
Requerido
|
Número de núcleos que se van a usar para el proceso del controlador. |
executor_memory
Requerido
|
Cantidad de memoria que se va a usar por proceso de ejecutor. |
executor_cores
Requerido
|
Número de núcleos que se usarán para cada ejecutor. |
num_executors
Requerido
|
Número de ejecutores que se van a iniciar para esta sesión. |
name
Requerido
|
Nombre del paso. Si no se especifica, |
app_name
Requerido
|
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
|
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. |