Partilhar via


DataTransferStep Classe

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

DataTransferStep suporta tipos de armazenamento comuns, como Armazenamento de Blobs do Azure e Azure Data Lake como origens e sinks. Para obter mais informações, consulte a secção Observações .

Para obter um exemplo de utilização de DataTransferStep, consulte o bloco de notas https://aka.ms/pl-data-trans.

Crie um passo do Pipeline do Azure ML que transfere dados entre 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 Description
name
Necessário
str

[Obrigatório] O nome do passo.

source_data_reference

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

Default value: None
destination_data_reference

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

Default value: None
compute_target

[Obrigatório] Uma Azure Data Factory a utilizar para transferir dados.

Default value: None
source_reference_type
str

Uma cadeia opcional que especifica o tipo de source_data_reference. Os valores possíveis incluem: "ficheiro", "diretório". Quando não for especificado, é utilizado o tipo de caminho existente. Utilize este parâmetro para diferenciar entre um ficheiro e um diretório com o mesmo nome.

Default value: None
destination_reference_type
str

Uma cadeia opcional que especifica o tipo de destination_data_reference. Os valores possíveis incluem: "ficheiro", "diretório". Quando não for especificado, o Azure ML utiliza o tipo de caminho existente, referência de origem ou "diretório", por essa ordem.

Default value: None
allow_reuse

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições. A reutilização está ativada por predefinição. Se os argumentos de passo permanecerem inalterados, o resultado da execução anterior deste passo será reutilizado. Ao reutilizar o passo, em vez de transferir dados novamente, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes. Se utilizar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

Default value: True
name
Necessário
str

[Obrigatório] O nome do passo.

source_data_reference
Necessário

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

destination_data_reference
Necessário

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

compute_target
Necessário

[Obrigatório] Uma Azure Data Factory a utilizar para transferir dados.

source_reference_type
Necessário
str

Uma cadeia opcional que especifica o tipo de source_data_reference. Os valores possíveis incluem: "ficheiro", "diretório". Quando não for especificado, é utilizado o tipo de caminho existente. Utilize este parâmetro para diferenciar entre um ficheiro e um diretório com o mesmo nome.

destination_reference_type
Necessário
str

Uma cadeia opcional que especifica o tipo de destination_data_reference. Os valores possíveis incluem: "ficheiro", "diretório". Quando não for especificado, o Azure ML utiliza o tipo de caminho existente, referência de origem ou "diretório", por essa ordem.

allow_reuse
Necessário

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições. A reutilização está ativada por predefinição. Se os argumentos de passo permanecerem inalterados, o resultado da execução anterior deste passo será reutilizado. Ao reutilizar o passo, em vez de transferir dados novamente, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes. Se utilizar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

Observações

Este passo suporta os seguintes tipos de armazenamento como origens e sinks, exceto quando 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 SQL do Azure Base de Dados, tem de utilizar a autenticação do principal de serviço. Para obter mais informações, veja Autenticação do Principal de Serviço. Para obter um exemplo de utilização da autenticação do principal de serviço para SQL do Azure Base de Dados, consulte https://aka.ms/pl-data-trans.

Para estabelecer a dependência de dados entre passos, utilize o get_output método para obter um PipelineData objeto que representa a saída deste passo de transferência de dados e pode ser utilizado como entrada para passos 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, pode combinar get_output() saída 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 do passo DataTransfer e adicione-o ao gráfico especificado.

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que represente o fluxo de trabalho.

get_output

Obtenha o resultado do passo como PipelineData.

create_node

Crie um nó a partir do passo DataTransfer e adicione-o ao gráfico especificado.

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que represente o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O objeto de grafo ao que adicionar o nó.

default_datastore
Necessário

O arquivo de dados predefinido.

context
Necessário
<xref:azureml.pipeline.core._GraphContext>

O contexto do gráfico.

Devoluções

Tipo Description

O nó criado.

get_output

Obtenha o resultado do passo como PipelineData.

get_output()

Devoluções

Tipo Description

A saída do passo.

Observações

Para estabelecer a dependência de dados entre passos, utilize get_output o método para obter um PipelineData objeto que representa a saída deste passo de transferência de dados e pode ser utilizado como entrada para passos 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, pode combinar get_output() chamadas 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")