SynapseSparkStep Classe

Nota

Esta é uma classe experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Cria um passo do Synapse do Azure ML que submete e executa o script python.

Crie um passo do Pipeline do Azure ML que executa a tarefa do Spark no conjunto spark do synapse.

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

Name Description
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, env conda e outros recursos utilizados no passo.

compute_target
Necessário

O destino de computação a utilizar.

driver_memory
Necessário
str

Quantidade de memória a utilizar para o processo do controlador.

driver_cores
Necessário
int

Número de núcleos a utilizar para o processo do controlador.

executor_memory
Necessário
str

Quantidade de memória a utilizar por processo do executor.

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 iniciar para esta sessão.

name
Necessário
str

O nome do passo. Se não for especificado, file é utilizado.

app_name
Necessário
str

O Nome da aplicação utilizado para submeter a tarefa do Spark.

environment
Necessário

O ambiente AML será suportado na versão posterior.

arguments
Necessário

Argumentos da linha de comandos para o ficheiro de script do 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

Ficheiros Python a utilizar nesta sessão, parâmetro da API livy.

files
Necessário

Ficheiros a utilizar nesta sessão, parâmetro da API livy.

allow_reuse
Necessário

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições.

version
Necessário
str

Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.

file
Necessário
str

O nome de um script do Synapse relativo a source_directory.

source_directory
Necessário
str

Uma pasta que contém script python, env conda e outros recursos utilizados no passo.

compute_target
Necessário

O destino de computação a utilizar.

driver_memory
Necessário
str

Quantidade de memória a utilizar para o processo do controlador.

driver_cores
Necessário
int

Número de núcleos a utilizar para o processo do controlador.

executor_memory
Necessário
str

Quantidade de memória a utilizar por processo do executor.

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 iniciar para esta sessão.

name
Necessário
str

O nome do passo. Se não for especificado, file é utilizado.

app_name
Necessário
str

O nome da aplicação utilizado para submeter a tarefa do Apache Spark.

environment
Necessário

Ambiente AML que será aproveitado neste SynapseSparkStep.

arguments
Necessário

Argumentos da linha de comandos para o ficheiro de script do 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

Ficheiros Python a utilizar nesta sessão, parâmetro da API livy.

jars
Necessário

Jar files to be used in this session, parameter of livy API.

files
Necessário

Ficheiros a utilizar nesta sessão, parâmetro da API livy.

allow_reuse
Necessário

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições.

version
Necessário
str

Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.

Observações

Um SynapseSparkStep é um passo básico e incorporado para executar uma tarefa do Python Spark em conjuntos spark synapse. Utiliza um nome de ficheiro 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 o SynapseSparkStep é utilizar uma pasta separada para scripts e quaisquer ficheiros dependentes associados ao passo e especificar essa pasta com o source_directory parâmetro . Seguir esta melhor prática tem duas vantagens. Em primeiro lugar, ajuda a reduzir o tamanho do instantâneo criado para o passo porque apenas o que é necessário para o passo é instantâneo. Em segundo lugar, a saída do passo de uma execução anterior pode ser reutilizada se não existirem alterações ao source_directory que acionarão 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 só suporta DatasetConsumptionConfig como entrada e HDFSOutputDatasetConfig como saída.

Métodos

create_node

Criar um nó para o passo de script do Synapse.

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que represente o fluxo de trabalho.

create_node

Criar um nó para o passo de script do Synapse.

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que represente o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O objeto de grafo ao que adicionar o nó.

default_datastore
Necessário

O arquivo de dados predefinido.

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

O contexto do gráfico.

Devoluções

Tipo Description

O nó criado.