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._SynapseSparkStepBaseSynapseSparkStep
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
|
O nome de um script synapse relativo a source_directory. |
source_directory
Necessário
|
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
|
Quantidade de memória a utilizar para o processo do controlador. |
driver_cores
Necessário
|
Número de núcleos a utilizar para o processo do controlador. |
executor_memory
Necessário
|
Quantidade de memória a utilizar por processo do executor. |
executor_cores
Necessário
|
Número de núcleos a utilizar para cada executor. |
num_executors
Necessário
|
Número de executores a iniciar para esta sessão. |
name
Necessário
|
O nome do passo. Se não for especificado, |
app_name
Necessário
|
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
|
Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo. |
file
Necessário
|
O nome de um script do Synapse relativo a |
source_directory
Necessário
|
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
|
Quantidade de memória a utilizar para o processo do controlador. |
driver_cores
Necessário
|
Número de núcleos a utilizar para o processo do controlador. |
executor_memory
Necessário
|
Quantidade de memória a utilizar por processo do executor. |
executor_cores
Necessário
|
Número de núcleos a utilizar para cada executor. |
num_executors
Necessário
|
Número de executores a iniciar para esta sessão. |
name
Necessário
|
O nome do passo. Se não for especificado, |
app_name
Necessário
|
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
|
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. |