Partilhar 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 Observações .

Para obter um exemplo de como usar DataTransferStep, consulte o bloco de anotações 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

Name Description
name
Necessá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.

Default value: None
destination_data_reference

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

Default value: None
compute_target

[Obrigatório] Um Azure Data Factory para usar na transferência de dados.

Default value: None
source_reference_type
str

Uma cadeia de caracteres opcional especificando 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 entre um arquivo e um diretório com o mesmo nome.

Default value: None
destination_reference_type
str

Uma cadeia de caracteres opcional especificando 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.

Default value: None
allow_reuse

Indica se a etapa deve reutilizar os resultados anteriores ao ser executada novamente com as mesmas configurações. A reutilização está ativada por predefinição. Se os argumentos da etapa permanecerem inalterados, a saída da execução anterior desta etapa será reutilizada. Ao reutilizar a etapa, em vez de transferir dados novamente, os resultados da execução anterior são imediatamente disponibilizados para todas as etapas subsequentes. Se você usar conjuntos de dados do Aprendizado de Máquina do Azure 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.

Default value: True
name
Necessário
str

[Obrigatório] O nome da etapa.

source_data_reference
Necessário

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

destination_data_reference
Necessário

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

compute_target
Necessário

[Obrigatório] Um Azure Data Factory para usar na transferência de dados.

source_reference_type
Necessário
str

Uma cadeia de caracteres opcional especificando 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 entre um arquivo e um diretório com o mesmo nome.

destination_reference_type
Necessário
str

Uma cadeia de caracteres opcional especificando 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
Necessário

Indica se a etapa deve reutilizar os resultados anteriores ao ser executada novamente com as mesmas configurações. A reutilização está ativada por predefinição. Se os argumentos da etapa permanecerem inalterados, a saída da execução anterior desta etapa será reutilizada. Ao reutilizar a etapa, em vez de transferir dados novamente, os resultados da execução anterior são imediatamente disponibilizados para todas as etapas subsequentes. Se você usar conjuntos de dados do Aprendizado de Máquina do Azure 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.

Observações

Esta etapa suporta os seguintes tipos de armazenamento como fontes e coletores, exceto onde indicado:

  • Armazenamento de Blobs do Azure

  • Azure Data Lake Storage Gen1 e Gen2

  • Base de Dados SQL do Azure

  • Base de Dados do Azure para PostgreSQL

  • Base 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 da 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 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 com um InputPortBinding nome específico, você pode combinar a saída get_output() com a saída dos as_input métodos 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

Crie um nó a partir da etapa DataTransfer e adicione-o ao gráfico fornecido.

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.

get_output

Obtenha a saída da etapa como PipelineData.

create_node

Crie um nó a partir da etapa DataTransfer e adicione-o ao gráfico fornecido.

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.

get_output

Obtenha a saída da etapa como PipelineData.

get_output()

Devoluções

Tipo Description

A saída da etapa.

Observações

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 com um nome específico, você pode combinar get_output() chamada com as_input ou as_mount métodos auxiliares.


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

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