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
|
O nome de um script synapse relativo a source_directory. |
|
source_directory
Obrigatório
|
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
|
Quantidade de memória a ser usada para o processo de driver. |
|
driver_cores
Obrigatório
|
Número de núcleos a serem usados para o processo de driver. |
|
executor_memory
Obrigatório
|
Quantidade de memória a ser usada por processo de executor. |
|
executor_cores
Obrigatório
|
Número de núcleos a serem usados para cada executor. |
|
num_executors
Obrigatório
|
Número de executores a serem iniciados para esta sessão. |
|
name
Obrigatório
|
O nome da etapa. Se não for especificado, |
|
app_name
Obrigatório
|
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
|
Uma marca de versão opcional para indicar uma alteração na funcionalidade da etapa. |
|
file
Obrigatório
|
O nome de um script do Synapse em relação a |
|
source_directory
Obrigatório
|
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
|
Quantidade de memória a ser usada para o processo de driver. |
|
driver_cores
Obrigatório
|
Número de núcleos a serem usados para o processo de driver. |
|
executor_memory
Obrigatório
|
Quantidade de memória a ser usada por processo de executor. |
|
executor_cores
Obrigatório
|
Número de núcleos a serem usados para cada executor. |
|
num_executors
Obrigatório
|
Número de executores a serem iniciados para esta sessão. |
|
name
Obrigatório
|
O nome da etapa. Se não for especificado, |
|
app_name
Obrigatório
|
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
|
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. |