Dela via


DataTransferStep Klass

Skapar ett Azure ML Pipeline-steg som överför data mellan lagringsalternativ.

DataTransferStep stöder vanliga lagringstyper som Azure Blob Storage och Azure Data Lake som källor och mottagare. Mer information finns i avsnittet Kommentarer .

Ett exempel på hur du använder DataTransferStep finns i notebook-filen https://aka.ms/pl-data-trans.

Skapa ett Azure ML Pipeline-steg som överför data mellan lagringsalternativ.

Arv
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBase
DataTransferStep

Konstruktor

DataTransferStep(name, source_data_reference=None, destination_data_reference=None, compute_target=None, source_reference_type=None, destination_reference_type=None, allow_reuse=True)

Parametrar

name
str
Obligatorisk

[Krävs] Namnet på steget.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
standardvärde: None

[Krävs] En indataanslutning som fungerar som källa för dataöverföringsåtgärden.

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
standardvärde: None

[Krävs] En utdataanslutning som fungerar som mål för dataöverföringsåtgärden.

compute_target
DataFactoryCompute, str
standardvärde: None

[Krävs] En Azure Data Factory som ska användas för överföring av data.

source_reference_type
str
standardvärde: None

En valfri sträng som anger typen av source_data_reference. Möjliga värden är: "file", "directory". När den inte anges används typen av befintlig sökväg. Använd den här parametern för att skilja mellan en fil och en katalog med samma namn.

destination_reference_type
str
standardvärde: None

En valfri sträng som anger typen av destination_data_reference. Möjliga värden är: "file", "directory". När det inte anges använder Azure ML typen av befintlig sökväg, källreferens eller "katalog" i den ordningen.

allow_reuse
bool
standardvärde: True

Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. Återanvändning är aktiverat som standard. Om stegargumenten förblir oförändrade återanvänds utdata från föregående körning av det här steget. När du återanvänder steget, i stället för att överföra data igen, görs resultaten från föregående körning omedelbart tillgängliga för efterföljande steg. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändning av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.

name
str
Obligatorisk

[Krävs] Namnet på steget.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
Obligatorisk

[Krävs] En indataanslutning som fungerar som källa för dataöverföringsåtgärden.

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
Obligatorisk

[Krävs] En utdataanslutning som fungerar som mål för dataöverföringsåtgärden.

compute_target
DataFactoryCompute, str
Obligatorisk

[Krävs] En Azure Data Factory som ska användas för överföring av data.

source_reference_type
str
Obligatorisk

En valfri sträng som anger typen av source_data_reference. Möjliga värden är: "file", "directory". När den inte anges används typen av befintlig sökväg. Använd den här parametern för att skilja mellan en fil och en katalog med samma namn.

destination_reference_type
str
Obligatorisk

En valfri sträng som anger typen av destination_data_reference. Möjliga värden är: "file", "directory". När det inte anges använder Azure ML typen av befintlig sökväg, källreferens eller "katalog" i den ordningen.

allow_reuse
bool
Obligatorisk

Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. Återanvändning är aktiverat som standard. Om stegargumenten förblir oförändrade återanvänds utdata från föregående körning av det här steget. När du återanvänder steget, i stället för att överföra data igen, görs resultaten från föregående körning omedelbart tillgängliga för efterföljande steg. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändning av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.

Kommentarer

Det här steget stöder följande lagringstyper som källor och mottagare, förutom där det anges:

  • Azure Blob Storage

  • Azure Data Lake Storage Gen1 och Gen2

  • Azure SQL Database

  • Azure Database for PostgreSQL

  • Azure Database for MySQL

För Azure SQL Database måste du använda autentisering med tjänstens huvudnamn. Mer information finns i Autentisering med tjänstens huvudnamn. Ett exempel på hur du använder autentisering av tjänstens huvudnamn för Azure SQL Database finns i https://aka.ms/pl-data-trans.

Om du vill upprätta ett databeroende mellan stegen använder get_output du metoden för att hämta ett PipelineData objekt som representerar utdata från det här dataöverföringssteget och som kan användas som indata för senare steg i pipelinen.


   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)

Om du vill skapa en med ett InputPortBinding specifikt namn kan du kombinera get_output() utdata med utdata från as_input metoderna PipelineDataeller as_mount för .


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

Metoder

create_node

Skapa en nod från steget DataTransfer och lägg till den i den angivna grafen.

Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.

get_output

Hämta utdata från steget som PipelineData.

create_node

Skapa en nod från steget DataTransfer och lägg till den i den angivna grafen.

Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.

create_node(graph, default_datastore, context)

Parametrar

graph
Graph
Obligatorisk

Grafobjektet som noden ska läggas till i.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Obligatorisk

Standarddatalager.

context
<xref:azureml.pipeline.core._GraphContext>
Obligatorisk

Grafkontexten.

Returer

Den skapade noden.

Returtyp

get_output

Hämta utdata från steget som PipelineData.

get_output()

Returer

Utdata från steget.

Returtyp

Kommentarer

Om du vill upprätta ett databeroende mellan stegen använder du get_output metoden för att hämta ett PipelineData objekt som representerar utdata från det här dataöverföringssteget och som kan användas som indata för senare steg i pipelinen.


   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)

Om du vill skapa ett med ett InputPortBinding specifikt namn kan du kombinera get_output() anrop med as_input eller as_mount hjälpmetoder.


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

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