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._SynapseSparkStepBaseSynapseSparkStep
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 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
|
Cantidad de memoria que se usará para el proceso del controlador. |
driver_cores
Requerido
|
Número de núcleos que se usarán para el proceso del controlador. |
executor_memory
Requerido
|
Cantidad de memoria que se usará por proceso de ejecutor. |
executor_cores
Requerido
|
Número de núcleos que se usará para cada ejecutor. |
num_executors
Requerido
|
Número de ejecutores que se iniciarán para esta sesión. |
name
Requerido
|
Nombre del paso. Si no se especifica, se usa |
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
|
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
|
Una 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 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
|
Cantidad de memoria que se usará para el proceso del controlador. |
driver_cores
Requerido
|
Número de núcleos que se usarán para el proceso del controlador. |
executor_memory
Requerido
|
Cantidad de memoria que se usará por proceso de ejecutor. |
executor_cores
Requerido
|
Número de núcleos que se usará para cada ejecutor. |
num_executors
Requerido
|
Número de ejecutores que se iniciarán para esta sesión. |
name
Requerido
|
Nombre del paso. Si no se especifica, se usa |
app_name
Requerido
|
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
|
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. |