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

name
str
Obrigatório

[Obrigatório] O nome da etapa.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
valor padrão: None

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

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
valor padrão: None

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

compute_target
DataFactoryCompute, str
valor padrão: None

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

source_reference_type
str
valor padrão: None

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
str
valor padrão: None

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
bool
valor padrão: True

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.

name
str
Obrigatório

[Obrigatório] O nome da etapa.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
Obrigatório

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

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
Obrigatório

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

compute_target
DataFactoryCompute, str
Obrigatório

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

source_reference_type
str
Obrigatório

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
str
Obrigatório

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
bool
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

graph
Graph
Obrigatório

O objeto de gráfico ao qual adicionar o nó.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Obrigatório

O armazenamento de dados padrão.

context
<xref:azureml.pipeline.core._GraphContext>
Obrigatório

O contexto do grafo.

Retornos

O nó criado.

Tipo de retorno

get_output

Obter a saída da etapa como PipelineData.

get_output()

Retornos

A saída da etapa.

Tipo de retorno

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")