Compartilhar via


DataTransferStep Classe

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

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

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

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

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 serve como fonte da operação de transferência de dados.

Valor padrão: None
destination_data_reference

[Obrigatório] Uma conexão de saída que serve 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', 'directory'. Quando não especificado, o tipo de caminho existente é usado. Use esse parâmetro para diferenciar 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', 'directory'. Quando não especificado, o Azure ML usa o tipo de caminho existente, referência de origem ou 'diretório', nessa ordem.

Valor padrão: None
allow_reuse

Indica se a etapa deve reutilizar os resultados anteriores ao executar novamente com as mesmas configurações. A reutilização é habilitada por padrão. Se os argumentos da etapa permanecerem inalterados, a saída da execução anterior desta etapa será reutilizado. Ao reutilize a etapa, em vez de transferir dados novamente, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada, não se os dados subjacentes foram alterados.

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 serve como fonte da operação de transferência de dados.

destination_data_reference
Obrigatório

[Obrigatório] Uma conexão de saída que serve 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', 'directory'. Quando não especificado, o tipo de caminho existente é usado. Use esse parâmetro para diferenciar 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', 'directory'. Quando não especificado, o Azure ML usa o tipo de caminho existente, referência de origem ou 'diretório', nessa ordem.

allow_reuse
Obrigatório

Indica se a etapa deve reutilizar os resultados anteriores ao executar novamente com as mesmas configurações. A reutilização é habilitada por padrão. Se os argumentos da etapa permanecerem inalterados, a saída da execução anterior desta etapa será reutilizado. Ao reutilize a etapa, em vez de transferir dados novamente, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada, não se os dados subjacentes foram alterados.

Comentários

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

  • Armazenamento de 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, você deve usar a autenticação da entidade de serviço. Para obter mais informações, consulte Autenticação da Entidade de Serviço. Para obter um exemplo de como usar a autenticação de entidade de serviço para o Banco de Dados SQL do Azure, consulte https://aka.ms/pl-data-trans.

Para estabelecer a dependência de dados entre as etapas, use o get_output método para obter um PipelineData objeto que represente a saída dessa etapa de transferência de dados e possa 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 nome específico, você pode combinar get_output() saída com a saída dos as_input métodos de as_mountPipelineData.


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

Métodos

create_node

Crie um nó a partir da etapa DataTransfer e adicione-o ao grafo especificado.

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.

get_output

Obtenha a saída da etapa como PipelineData.

create_node

Crie um nó a partir da etapa DataTransfer e adicione-o ao grafo especificado.

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.

get_output

Obtenha 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 as etapas, use get_output o método para obter um PipelineData objeto que represente a saída dessa etapa de transferência de dados e possa 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 nome específico, você pode combinar get_output() chamada com as_input métodos auxiliares.as_mount


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

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