Compartilhar via


SynapseSparkStep Classe

Observação

Esta é uma classe experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Cria uma etapa do Azure ML Synapse que envia e executa o script Python.

Crie uma etapa do Pipeline do Azure ML que executa o trabalho do Spark no pool do Synapse Spark.

Construtor

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

Nome Description
file
Obrigatório
str

O nome de um script synapse relativo a source_directory.

source_directory
Obrigatório
str

Uma pasta que contém script Python, conda env e outros recursos usados na etapa.

compute_target
Obrigatório

O destino de computação a ser usado.

driver_memory
Obrigatório
str

Quantidade de memória a ser usada para o processo de driver.

driver_cores
Obrigatório
int

Número de núcleos a serem usados para o processo de driver.

executor_memory
Obrigatório
str

Quantidade de memória a ser usada por processo de executor.

executor_cores
Obrigatório
int

Número de núcleos a serem usados para cada executor.

num_executors
Obrigatório
int

Número de executores a serem iniciados para esta sessão.

name
Obrigatório
str

O nome da etapa. Se não for especificado, file será usado.

app_name
Obrigatório
str

O nome do aplicativo usado para enviar o trabalho do Spark.

environment
Obrigatório

O ambiente AML terá suporte na versão posterior.

arguments
Obrigatório

Argumentos de linha de comando para o arquivo de script do Synapse.

inputs
Obrigatório

Uma lista de entradas.

outputs
Obrigatório

Uma lista de saídas.

conf
Obrigatório

Propriedades de configuração do Spark.

py_files
Obrigatório

Arquivos python a serem usados nesta sessão, parâmetro da API livy.

files
Obrigatório

Arquivos a serem usados nesta sessão, parâmetro da API livy.

allow_reuse
Obrigatório

Indica se a etapa deve reutilizar os resultados anteriores ao executar novamente com as mesmas configurações.

version
Obrigatório
str

Uma marca de versão opcional para indicar uma alteração na funcionalidade da etapa.

file
Obrigatório
str

O nome de um script do Synapse em relação a source_directory.

source_directory
Obrigatório
str

Uma pasta que contém script Python, conda env e outros recursos usados na etapa.

compute_target
Obrigatório

O destino de computação a ser usado.

driver_memory
Obrigatório
str

Quantidade de memória a ser usada para o processo de driver.

driver_cores
Obrigatório
int

Número de núcleos a serem usados para o processo de driver.

executor_memory
Obrigatório
str

Quantidade de memória a ser usada por processo de executor.

executor_cores
Obrigatório
int

Número de núcleos a serem usados para cada executor.

num_executors
Obrigatório
int

Número de executores a serem iniciados para esta sessão.

name
Obrigatório
str

O nome da etapa. Se não for especificado, file será usado.

app_name
Obrigatório
str

O nome do aplicativo usado para enviar o trabalho do Apache Spark.

environment
Obrigatório

Ambiente AML que será aproveitado neste SynapseSparkStep.

arguments
Obrigatório

Argumentos de linha de comando para o arquivo de script do Synapse.

inputs
Obrigatório

Uma lista de entradas.

outputs
Obrigatório

Uma lista de saídas.

conf
Obrigatório

Propriedades de configuração do Spark.

py_files
Obrigatório

Arquivos python a serem usados nesta sessão, parâmetro da API livy.

jars
Obrigatório

Arquivos jar a serem usados nesta sessão, parâmetro da API livy.

files
Obrigatório

Arquivos a serem usados nesta sessão, parâmetro da API livy.

allow_reuse
Obrigatório

Indica se a etapa deve reutilizar os resultados anteriores ao executar novamente com as mesmas configurações.

version
Obrigatório
str

Uma marca de versão opcional para indicar uma alteração na funcionalidade da etapa.

Comentários

Um SynapseSparkStep é uma etapa básica e interna para executar um trabalho do Python Spark em pools de spark do synapse. Ele usa um nome de arquivo principal e outros parâmetros opcionais, como argumentos para o script, destino de computação, entradas e saídas.

A melhor prática para trabalhar com synapseSparkStep é usar uma pasta separada para scripts e quaisquer arquivos dependentes associados à etapa e especificar essa pasta com o source_directory parâmetro. Seguir essa prática recomendada tem dois benefícios. Primeiro, ele ajuda a reduzir o tamanho do instantâneo criado para a etapa, pois somente o que é necessário para a etapa é instantâneo. Em segundo lugar, a saída da etapa de uma execução anterior poderá ser reutilizado se não houver alterações no source_directory que dispararia um upload novamente do instantâneo.


   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 = {})

O SynapseSparkStep só dá suporte a DatasetConsumptionConfig como entrada e HDFSOutputDatasetConfig como saída.

Métodos

create_node

Crie um nó para a etapa de script do Synapse.

Esse método não se destina a ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML passa automaticamente os parâmetros necessários por meio desse método para que essa etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho.

create_node

Crie um nó para a etapa de script do Synapse.

Esse método não se destina a ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML passa automaticamente os parâmetros necessários por meio desse método para que essa etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Nome Description
graph
Obrigatório

O objeto de grafo ao qual adicionar o nó.

default_datastore
Obrigatório

O armazenamento de dados padrão.

context
Obrigatório
<xref:azureml.pipeline.core._GraphContext>

O contexto do grafo.

Retornos

Tipo Description

O nó criado.