Delen via


DataTransferStep Klas

Hiermee maakt u een Azure ML-pijplijnstap die gegevens overdraagt tussen opslagopties.

DataTransferStep ondersteunt veelgebruikte opslagtypen zoals Azure Blob Storage en Azure Data Lake als bronnen en sinks. Zie de sectie Opmerkingen voor meer informatie.

Zie het notebook https://aka.ms/pl-data-transvoor een voorbeeld van het gebruik van DataTransferStep.

Maak een Azure ML-pijplijnstap die gegevens overdraagt tussen opslagopties.

Constructor

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

Parameters

Name Description
name
Vereist
str

[Vereist] De naam van de stap.

source_data_reference

[Vereist] Een invoerverbinding die fungeert als bron van de gegevensoverdrachtbewerking.

Default value: None
destination_data_reference

[Vereist] Een uitvoerverbinding die fungeert als bestemming van de gegevensoverdrachtbewerking.

Default value: None
compute_target

[Vereist] Een Azure Data Factory die moet worden gebruikt voor het overdragen van gegevens.

Default value: None
source_reference_type
str

Een optionele tekenreeks die het type aangeeft source_data_reference. Mogelijke waarden zijn: 'bestand', 'map'. Wanneer dit niet is opgegeven, wordt het type bestaand pad gebruikt. Gebruik deze parameter om onderscheid te maken tussen een bestand en map met dezelfde naam.

Default value: None
destination_reference_type
str

Een optionele tekenreeks die het type aangeeft destination_data_reference. Mogelijke waarden zijn: 'bestand', 'map'. Wanneer dit niet is opgegeven, gebruikt Azure ML in die volgorde het type bestaand pad, de bronreferentie of de map.

Default value: None
allow_reuse

Hiermee wordt aangegeven of de stap vorige resultaten opnieuw moet gebruiken wanneer deze opnieuw wordt uitgevoerd met dezelfde instellingen. Hergebruik is standaard ingeschakeld. Als stapargumenten ongewijzigd blijven, wordt de uitvoer van de vorige uitvoering van deze stap opnieuw gebruikt. Wanneer u de stap opnieuw gebruikt, worden de resultaten van de vorige uitvoering onmiddellijk beschikbaar gesteld aan eventuele volgende stappen in plaats van gegevens over te dragen. Als u Azure Machine Learning-gegevenssets als invoer gebruikt, wordt hergebruik bepaald door of de definitie van de gegevensset is gewijzigd, niet door of de onderliggende gegevens zijn gewijzigd.

Default value: True
name
Vereist
str

[Vereist] De naam van de stap.

source_data_reference
Vereist

[Vereist] Een invoerverbinding die fungeert als bron van de gegevensoverdrachtbewerking.

destination_data_reference
Vereist

[Vereist] Een uitvoerverbinding die fungeert als bestemming van de gegevensoverdrachtbewerking.

compute_target
Vereist

[Vereist] Een Azure Data Factory die moet worden gebruikt voor het overdragen van gegevens.

source_reference_type
Vereist
str

Een optionele tekenreeks die het type aangeeft source_data_reference. Mogelijke waarden zijn: 'bestand', 'map'. Wanneer dit niet is opgegeven, wordt het type bestaand pad gebruikt. Gebruik deze parameter om onderscheid te maken tussen een bestand en map met dezelfde naam.

destination_reference_type
Vereist
str

Een optionele tekenreeks die het type aangeeft destination_data_reference. Mogelijke waarden zijn: 'bestand', 'map'. Wanneer dit niet is opgegeven, gebruikt Azure ML in die volgorde het type bestaand pad, de bronreferentie of de map.

allow_reuse
Vereist

Hiermee wordt aangegeven of de stap vorige resultaten opnieuw moet gebruiken wanneer deze opnieuw wordt uitgevoerd met dezelfde instellingen. Hergebruik is standaard ingeschakeld. Als stapargumenten ongewijzigd blijven, wordt de uitvoer van de vorige uitvoering van deze stap opnieuw gebruikt. Wanneer u de stap opnieuw gebruikt, worden de resultaten van de vorige uitvoering onmiddellijk beschikbaar gesteld aan eventuele volgende stappen in plaats van gegevens over te dragen. Als u Azure Machine Learning-gegevenssets als invoer gebruikt, wordt hergebruik bepaald door of de definitie van de gegevensset is gewijzigd, niet door of de onderliggende gegevens zijn gewijzigd.

Opmerkingen

Deze stap ondersteunt de volgende opslagtypen als bronnen en sinks, behalve waar vermeld:

  • Azure Blob Storage (opslagdienst van Azure)

  • Azure Data Lake Storage Gen1 en Gen2

  • Azure SQL Database

  • Azure-database voor PostgreSQL

  • Azure-database voor MySQL

Voor Azure SQL Database moet u verificatie van de service-principal gebruiken. Zie Service Principal Authentication voor meer informatie. Zie voor een voorbeeld van het gebruik van service-principalverificatie voor Azure SQL Database https://aka.ms/pl-data-trans.

Als u gegevensafhankelijkheid tussen stappen wilt vaststellen, gebruikt u de get_output methode om een PipelineData object op te halen dat de uitvoer van deze stap voor gegevensoverdracht vertegenwoordigt en kan worden gebruikt als invoer voor latere stappen in de pijplijn.


   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)

Als u een InputPortBinding met een specifieke naam wilt maken, kunt u get_output() uitvoer combineren met de uitvoer van de as_input of as_mount methoden van PipelineData.


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

Methoden

create_node

Maak een knooppunt op basis van de DataTransfer-stap en voeg dit toe aan de opgegeven grafiek.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn met deze stap wordt geïnstantieerd, worden in Azure ML automatisch de parameters doorgegeven die zijn vereist via deze methode, zodat de stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

get_output

Haal de uitvoer van de stap op als PipelineData.

create_node

Maak een knooppunt op basis van de DataTransfer-stap en voeg dit toe aan de opgegeven grafiek.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn met deze stap wordt geïnstantieerd, worden in Azure ML automatisch de parameters doorgegeven die zijn vereist via deze methode, zodat de stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node(graph, default_datastore, context)

Parameters

Name Description
graph
Vereist

Het grafiekobject waaraan het knooppunt moet worden toegevoegd.

default_datastore
Vereist

Het standaardgegevensarchief.

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

De grafiekcontext.

Retouren

Type Description

Het gemaakte knooppunt.

get_output

Haal de uitvoer van de stap op als PipelineData.

get_output()

Retouren

Type Description

De uitvoer van de stap.

Opmerkingen

Als u gegevensafhankelijkheid tussen stappen wilt vaststellen, gebruikt u de methode get_output om een PipelineData object op te halen dat de uitvoer van deze stap voor gegevensoverdracht vertegenwoordigt en kan worden gebruikt als invoer voor latere stappen in de pijplijn.


   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)

Als u een InputPortBinding met een specifieke naam wilt maken, kunt u get_output() aanroepen combineren met as_input of as_mount helpermethoden.


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

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