Compartilhar via


DataTransferStep Classe

Cria uma etapa do pipeline do Azure Machine Learning que transfere dados entre as opções de armazenamento.

DataTransferStep dá suporte a tipos de armazenamento comuns, como o Armazenamento de Blobs do Azure e o Azure Data Lake como origens e coletores. Para obter mais informações, confira seção Comentários.

Para ver um exemplo de como usar DataTransferStep, confira o notebook https://aka.ms/pl-data-trans.

Crie uma etapa do Pipeline do Azure ML que transfere dados entre as opções de armazenamento.

Herança
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBase
DataTransferStep

Construtor

DataTransferStep(name, source_data_reference=None, destination_data_reference=None, compute_target=None, source_reference_type=None, destination_reference_type=None, allow_reuse=True)

Parâmetros

Nome Description
name
Obrigatório
str

[Obrigatório] O nome da etapa.

source_data_reference

[Obrigatório] Uma conexão de entrada que atua como origem da operação de transferência de dados.

valor padrão: None
destination_data_reference

[Obrigatório] Uma conexão de saída que atua como destino da operação de transferência de dados.

valor padrão: None
compute_target

[Obrigatório] Um Azure Data Factory a ser usado para transferir dados.

valor padrão: None
source_reference_type
str

Uma cadeia de caracteres opcional que especifica o tipo de source_data_reference. Os valores possíveis incluem: 'file' e 'directory'. Quando não especificado, o tipo de caminho existente é usado. Use esse parâmetro para diferenciar entre um arquivo e um diretório de mesmo nome.

valor padrão: None
destination_reference_type
str

Uma cadeia de caracteres opcional que especifica o tipo de destination_data_reference. Os valores possíveis incluem: 'file' e 'directory'. Quando não especificado, o Azure ML usa o tipo de caminho existente, a referência de origem ou 'directory', nessa ordem.

valor padrão: None
allow_reuse

Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações. A reutilização está habilitada por padrão. Se os argumentos da etapa permanecerem inalterados, a saída da execução anterior da etapa será reutilizada. Ao reutilizar a etapa, em vez de transferir os dados novamente, os resultados da execução anterior são disponibilizados imediatamente para as etapas subsequentes. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada dependendo de ter havido ou não alteração na definição do conjunto de dados, não nos dados subjacentes.

valor padrão: True
name
Obrigatório
str

[Obrigatório] O nome da etapa.

source_data_reference
Obrigatório

[Obrigatório] Uma conexão de entrada que atua como origem da operação de transferência de dados.

destination_data_reference
Obrigatório

[Obrigatório] Uma conexão de saída que atua como destino da operação de transferência de dados.

compute_target
Obrigatório

[Obrigatório] Um Azure Data Factory a ser usado para transferir dados.

source_reference_type
Obrigatório
str

Uma cadeia de caracteres opcional que especifica o tipo de source_data_reference. Os valores possíveis incluem: 'file' e 'directory'. Quando não especificado, o tipo de caminho existente é usado. Use esse parâmetro para diferenciar entre um arquivo e um diretório de mesmo nome.

destination_reference_type
Obrigatório
str

Uma cadeia de caracteres opcional que especifica o tipo de destination_data_reference. Os valores possíveis incluem: 'file' e 'directory'. Quando não especificado, o Azure ML usa o tipo de caminho existente, a referência de origem ou 'directory', nessa ordem.

allow_reuse
Obrigatório

Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações. A reutilização está habilitada por padrão. Se os argumentos da etapa permanecerem inalterados, a saída da execução anterior da etapa será reutilizada. Ao reutilizar a etapa, em vez de transferir os dados novamente, os resultados da execução anterior são disponibilizados imediatamente para as etapas subsequentes. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada dependendo de ter havido ou não alteração na definição do conjunto de dados, não nos dados subjacentes.

Comentários

Esta etapa dá suporte aos seguintes tipos de armazenamento como fontes e coletores, exceto quando indicado:

  • Armazenamento do Blobs do Azure

  • Azure Data Lake Storage Gen1 e Gen2

  • Banco de Dados SQL do Azure

  • Banco de Dados do Azure para PostgreSQL

  • Banco de Dados do Azure para MySQL

Para o Banco de Dados SQL do Azure, use a autenticação da entidade de serviço. Para saber mais, confira Autenticação da entidade de serviço. Para ver um exemplo de como usar a autenticação de entidade de serviço para o Banco de Dados SQL do Azure, confira https://aka.ms/pl-data-trans.

Para estabelecer a dependência de dados entre etapas, use o método get_output para obter um objeto PipelineData que representa a saída dessa etapa de transferência de dados e pode ser usado como entrada para etapas posteriores no pipeline.


   data_transfer_step = DataTransferStep(name="copy data", ...)

   # Use output of data_transfer_step as input of another step in pipeline
   # This will make training_step wait for data_transfer_step to complete
   training_input = data_transfer_step.get_output()
   training_step = PythonScriptStep(script_name="train.py",
                           arguments=["--model", training_input],
                           inputs=[training_input],
                           compute_target=aml_compute,
                           source_directory=source_directory)

Para criar um InputPortBinding com um nome específico, combine a saída get_output() com a saída do método as_input ou as_mount de PipelineData.


   data_transfer_step = DataTransferStep(name="copy data", ...)
   training_input = data_transfer_step.get_output().as_input("my_input_name")

Métodos

create_node

Criar um nó com base na etapa DataTransfer e adicioná-lo ao gráfico determinado.

Esse método não deve ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML transmite os parâmetros necessários automaticamente por meio desse método para que a etapa possa ser adicionada a um gráfico de pipeline que representa o fluxo de trabalho.

get_output

Obter a saída da etapa como PipelineData.

create_node

Criar um nó com base na etapa DataTransfer e adicioná-lo ao gráfico determinado.

Esse método não deve ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML transmite os parâmetros necessários automaticamente por meio desse método para que a etapa possa ser adicionada a um gráfico de pipeline que representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Nome Description
graph
Obrigatório

O objeto de gráfico 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.

get_output

Obter a saída da etapa como PipelineData.

get_output()

Retornos

Tipo Description

A saída da etapa.

Comentários

Para estabelecer a dependência de dados entre etapas, use o método get_output para obter um objeto PipelineData que representa a saída dessa etapa de transferência de dados e pode ser usado como entrada para etapas posteriores no pipeline.


   data_transfer_step = DataTransferStep(name="copy data", ...)

   # Use output of data_transfer_step as input of another step in pipeline
   # This will make training_step wait for data_transfer_step to complete
   training_input = data_transfer_step.get_output()
   training_step = PythonScriptStep(script_name="train.py",
                           arguments=["--model", training_input],
                           inputs=[training_input],
                           compute_target=aml_compute,
                           source_directory=source_directory)

Para criar um InputPortBinding com um nome específico, combine a chamada get_output() com o método auxiliar as_input ou as_mount.


   data_transfer_step = DataTransferStep(name="copy data", ...)

   training_input = data_transfer_step.get_output().as_input("my_input_name")