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._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
Nome | Description |
---|---|
file
Obrigatório
|
O nome de um script do Synapse relativo a source_directory. |
source_directory
Obrigatório
|
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
|
Quantidade de memória a ser usada para o processo do driver. |
driver_cores
Obrigatório
|
Número de núcleos a serem usados para o processo do driver. |
executor_memory
Obrigatório
|
Quantidade de memória a ser usada pelo processo do 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 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
|
Uma marca de versão opcional para denotar 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 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
|
Quantidade de memória a ser usada para o processo do driver. |
driver_cores
Obrigatório
|
Número de núcleos a serem usados para o processo do driver. |
executor_memory
Obrigatório
|
Quantidade de memória a ser usada pelo processo do 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
|
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
|
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. |