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
str
Necessário

[Obrigatório] O nome do passo.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
valor predefinido: None

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

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
valor predefinido: None

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

compute_target
DataFactoryCompute, str
valor predefinido: None

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

source_reference_type
str
valor predefinido: None

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
str
valor predefinido: None

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
bool
valor predefinido: True

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.

name
str
Necessário

[Obrigatório] O nome do passo.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
Necessário

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

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
Necessário

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

compute_target
DataFactoryCompute, str
Necessário

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

source_reference_type
str
Necessário

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
str
Necessário

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

graph
Graph
Necessário

O objeto de grafo ao que adicionar o nó.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Necessário

O arquivo de dados predefinido.

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

O contexto do gráfico.

Devoluções

O nó criado.

Tipo de retorno

get_output

Obtenha o resultado do passo como PipelineData.

get_output()

Devoluções

A saída do passo.

Tipo de retorno

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