SynapseSparkStep Classe
Observação
Esta é uma aula experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.
Cria uma etapa Synapse do Azure ML que envia e executa script Python.
Crie uma etapa do Pipeline do Azure ML que execute o trabalho de faísca no pool de faíscas de sinapse.
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 de sinapse relativo a source_directory. |
|
source_directory
Necessário
|
Uma pasta que contém script Python, conda env e outros recursos usados na etapa. |
|
compute_target
Necessário
|
O destino de computação a ser usado. |
|
driver_memory
Necessário
|
Quantidade de memória a ser usada para o processo do driver. |
|
driver_cores
Necessário
|
Número de núcleos a serem usados para o processo do driver. |
|
executor_memory
Necessário
|
Quantidade de memória a ser usada por processo de execução. |
|
executor_cores
Necessário
|
Número de núcleos a utilizar para cada executor. |
|
num_executors
Necessário
|
Número de executores a serem iniciados para esta sessão. |
|
name
Necessário
|
O nome da etapa. Se não especificado, |
|
app_name
Necessário
|
O nome do aplicativo usado para enviar o trabalho de faísca. |
|
environment
Necessário
|
O ambiente AML será suportado em versões posteriores. |
|
arguments
Necessário
|
Argumentos de linha de comando para o arquivo de script 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
|
Arquivos Python a serem usados nesta sessão, parâmetro da API livy. |
|
files
Necessário
|
Arquivos a serem usados nesta sessão, parâmetro de API livy. |
|
allow_reuse
Necessário
|
Indica se a etapa deve reutilizar os resultados anteriores ao ser executada novamente com as mesmas configurações. |
|
version
Necessário
|
Uma tag de versão opcional para indicar uma alteração na funcionalidade da etapa. |
|
file
Necessário
|
O nome de um script Synapse relativo a |
|
source_directory
Necessário
|
Uma pasta que contém script Python, conda env e outros recursos usados na etapa. |
|
compute_target
Necessário
|
O destino de computação a ser usado. |
|
driver_memory
Necessário
|
Quantidade de memória a ser usada para o processo do driver. |
|
driver_cores
Necessário
|
Número de núcleos a serem usados para o processo do driver. |
|
executor_memory
Necessário
|
Quantidade de memória a ser usada por processo de execução. |
|
executor_cores
Necessário
|
Número de núcleos a utilizar para cada executor. |
|
num_executors
Necessário
|
Número de executores a serem iniciados para esta sessão. |
|
name
Necessário
|
O nome da etapa. Se não especificado, |
|
app_name
Necessário
|
O nome do aplicativo usado para enviar o trabalho do Apache Spark. |
|
environment
Necessário
|
Ambiente AML que será aproveitado neste SynapseSparkStep. |
|
arguments
Necessário
|
Argumentos de linha de comando para o arquivo de script 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
|
Arquivos Python a serem usados nesta sessão, parâmetro da API livy. |
|
jars
Necessário
|
Jar arquivos a serem usados nesta sessão, parâmetro de API livy. |
|
files
Necessário
|
Arquivos a serem usados nesta sessão, parâmetro de API livy. |
|
allow_reuse
Necessário
|
Indica se a etapa deve reutilizar os resultados anteriores ao ser executada novamente com as mesmas configurações. |
|
version
Necessário
|
Uma tag de versão opcional para indicar uma alteração na funcionalidade da etapa. |
Observações
Um SynapseSparkStep é uma etapa básica e integrada para executar um trabalho Python Spark em um pool de faíscas de sinapse. 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 prática recomendada 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 esta boa prática tem duas vantagens. Primeiro, ele ajuda a reduzir o tamanho do instantâneo criado para a etapa, pois apenas o que é necessário para a etapa é instantâneo. Em segundo lugar, a saída da etapa de uma execução anterior pode ser reutilizada se não houver alterações na source_directory que acionariam um recarregamento 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 = {})
SynapseSparkStep suporta apenas DatasetConsumptionConfig como entrada e HDFSOutputDatasetConfig como saída.
Métodos
| create_node |
Crie um nó para a etapa de script Synapse. Este método não se destina a ser utilizado 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 gráfico de pipeline que representa o fluxo de trabalho. |
create_node
Crie um nó para a etapa de script Synapse.
Este método não se destina a ser utilizado 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 gráfico de pipeline que representa o fluxo de trabalho.
create_node(graph, default_datastore, context)
Parâmetros
| Name | Description |
|---|---|
|
graph
Necessário
|
O objeto gráfico ao qual adicionar o nó. |
|
default_datastore
Necessário
|
O armazenamento de dados padrão. |
|
context
Necessário
|
<xref:azureml.pipeline.core._GraphContext>
O contexto do gráfico. |
Devoluções
| Tipo | Description |
|---|---|
|
O nó criado. |