Partilhar via


SynapseSparkStep Classe

Observação

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

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

Crie uma etapa do Pipeline do Azure ML que execute o trabalho de faísca no pool de faíscas de sinapse.

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

Name Description
file
Necessário
str

O nome de um script de sinapse relativo a source_directory.

source_directory
Necessário
str

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

compute_target
Necessário

O destino de computação a ser usado.

driver_memory
Necessário
str

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

driver_cores
Necessário
int

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

executor_memory
Necessário
str

Quantidade de memória a ser usada por processo de execução.

executor_cores
Necessário
int

Número de núcleos a utilizar para cada executor.

num_executors
Necessário
int

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

name
Necessário
str

O nome da etapa. Se não especificado, file é usado.

app_name
Necessário
str

O nome do aplicativo usado para enviar o trabalho de faísca.

environment
Necessário

O ambiente AML será suportado em versões posteriores.

arguments
Necessário

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

inputs
Necessário

Uma lista de entradas.

outputs
Necessário

Uma lista de saídas.

conf
Necessário

Propriedades de configuração do Spark.

py_files
Necessário

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

files
Necessário

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

allow_reuse
Necessário

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

version
Necessário
str

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

file
Necessário
str

O nome de um script Synapse relativo a source_directory.

source_directory
Necessário
str

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

compute_target
Necessário

O destino de computação a ser usado.

driver_memory
Necessário
str

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

driver_cores
Necessário
int

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

executor_memory
Necessário
str

Quantidade de memória a ser usada por processo de execução.

executor_cores
Necessário
int

Número de núcleos a utilizar para cada executor.

num_executors
Necessário
int

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

name
Necessário
str

O nome da etapa. Se não especificado, file é usado.

app_name
Necessário
str

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

environment
Necessário

Ambiente AML que será aproveitado neste SynapseSparkStep.

arguments
Necessário

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

inputs
Necessário

Uma lista de entradas.

outputs
Necessário

Uma lista de saídas.

conf
Necessário

Propriedades de configuração do Spark.

py_files
Necessário

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

jars
Necessário

Jar arquivos a serem usados nesta sessão, parâmetro de API livy.

files
Necessário

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

allow_reuse
Necessário

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

version
Necessário
str

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

Observações

Um SynapseSparkStep é uma etapa básica e integrada para executar um trabalho Python Spark em um pool de faíscas de sinapse. 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 prática recomendada 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 esta boa prática tem duas vantagens. Primeiro, ele ajuda a reduzir o tamanho do instantâneo criado para a etapa, pois apenas o que é necessário para a etapa é instantâneo. Em segundo lugar, a saída da etapa de uma execução anterior pode ser reutilizada se não houver alterações na source_directory que acionariam um recarregamento 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 = {})

SynapseSparkStep suporta apenas DatasetConsumptionConfig como entrada e HDFSOutputDatasetConfig como saída.

Métodos

create_node

Crie um nó para a etapa de script Synapse.

Este método não se destina a ser utilizado 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 gráfico de pipeline que representa o fluxo de trabalho.

create_node

Crie um nó para a etapa de script Synapse.

Este método não se destina a ser utilizado 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 gráfico de pipeline que representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O objeto gráfico ao qual adicionar o nó.

default_datastore
Necessário

O armazenamento de dados padrão.

context
Necessário
<xref:azureml.pipeline.core._GraphContext>

O contexto do gráfico.

Devoluções

Tipo Description

O nó criado.