Compartilhar via


SynapseSparkStep Classe

Observação

Essa é 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.

Herança
azureml.pipeline.core._synapse_spark_step_base._SynapseSparkStepBase
SynapseSparkStep

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 do Synapse relativo a source_directory.

source_directory
Obrigatório
str

Uma pasta que contém o script Python, o ambiente do Conda 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 do driver.

driver_cores
Obrigatório
int

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

executor_memory
Obrigatório
str

Quantidade de memória a ser usada pelo processo do 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 do 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

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

files
Obrigatório

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

allow_reuse
Obrigatório

Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações.

version
Obrigatório
str

Uma marca de versão opcional para denotar 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 o script Python, o ambiente do Conda 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 do driver.

driver_cores
Obrigatório
int

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

executor_memory
Obrigatório
str

Quantidade de memória a ser usada pelo processo do 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

Os 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

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

allow_reuse
Obrigatório

Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações.

version
Obrigatório
str

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

Comentários

Um SynapseSparkStep é uma etapa básica e integrada para executar um trabalho do Python Spark em Pools do Spark do Synapse. Ele usa um nome de arquivo principal e outros parâmetros opcionais, tais 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 todos os arquivos dependentes associados à etapa e especificá-la com o parâmetro source_directory. Seguir essa melhor prática oferece dois benefícios. Primeiro, ajuda a reduzir o tamanho do instantâneo criado para a etapa porque o instantâneo captura apenas o que é necessário nessa etapa. Segundo, a saída da etapa de uma execução anterior pode ser reutilizada caso não haja alterações no source_directory que disparariam um novo carregamento 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 dá suporte apenas a DatasetConsumptionConfig como entrada e HDFSOutputDatasetConfig como saída.

Métodos

create_node

Crie um nó para uma 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 uma 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.