Condividi tramite


DataTransferStep Classe

Crea un passaggio di Azure ML Pipeline che trasferisce i dati tra le opzioni di archiviazione.

DataTransferStep supporta tipi di archiviazione comuni, ad esempio Archiviazione BLOB di Azure e Azure Data Lake come origini e sink. Per altre informazioni, vedere la sezione Osservazioni .

Per un esempio di uso di DataTransferStep, vedere il notebook https://aka.ms/pl-data-trans.

Creare un passaggio di Azure ML Pipeline che trasferisce i dati tra le opzioni di archiviazione.

Ereditarietà
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBase
DataTransferStep

Costruttore

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

Parametri

Nome Descrizione
name
Necessario
str

[Obbligatorio] Nome del passaggio.

source_data_reference

[Obbligatorio] Connessione di input che funge da origine dell'operazione di trasferimento dei dati.

Valore predefinito: None
destination_data_reference

[Obbligatorio] Connessione di output che funge da destinazione dell'operazione di trasferimento dati.

Valore predefinito: None
compute_target

[Obbligatorio] Un Azure Data Factory da usare per il trasferimento dei dati.

Valore predefinito: None
source_reference_type
str

Stringa facoltativa che specifica il tipo di source_data_reference. I valori possibili includono: 'file', 'directory'. Se non specificato, viene usato il tipo di percorso esistente. Usare questo parametro per distinguere tra un file e una directory dello stesso nome.

Valore predefinito: None
destination_reference_type
str

Stringa facoltativa che specifica il tipo di destination_data_reference. I valori possibili includono: 'file', 'directory'. Se non specificato, Azure ML usa il tipo di percorso esistente, riferimento all'origine o 'directory', in tale ordine.

Valore predefinito: None
allow_reuse

Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue di nuovo con le stesse impostazioni. Il riutilizzo è abilitato per impostazione predefinita. Se gli argomenti dei passaggi rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché trasferire nuovamente i dati, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo è determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati.

Valore predefinito: True
name
Necessario
str

[Obbligatorio] Nome del passaggio.

source_data_reference
Necessario

[Obbligatorio] Connessione di input che funge da origine dell'operazione di trasferimento dei dati.

destination_data_reference
Necessario

[Obbligatorio] Connessione di output che funge da destinazione dell'operazione di trasferimento dati.

compute_target
Necessario

[Obbligatorio] Un Azure Data Factory da usare per il trasferimento dei dati.

source_reference_type
Necessario
str

Stringa facoltativa che specifica il tipo di source_data_reference. I valori possibili includono: 'file', 'directory'. Se non specificato, viene usato il tipo di percorso esistente. Usare questo parametro per distinguere tra un file e una directory dello stesso nome.

destination_reference_type
Necessario
str

Stringa facoltativa che specifica il tipo di destination_data_reference. I valori possibili includono: 'file', 'directory'. Se non specificato, Azure ML usa il tipo di percorso esistente, riferimento all'origine o 'directory', in tale ordine.

allow_reuse
Necessario

Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue di nuovo con le stesse impostazioni. Il riutilizzo è abilitato per impostazione predefinita. Se gli argomenti dei passaggi rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché trasferire nuovamente i dati, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo è determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati.

Commenti

Questo passaggio supporta i tipi di archiviazione seguenti come origini e sink, ad eccezione del caso indicato:

  • Archiviazione BLOB di Azure

  • Azure Data Lake Storage Gen1 e Gen2

  • Database SQL di Azure

  • Database di Azure per PostgreSQL

  • Database di Azure per MySQL

Per Azure SQL Database, è necessario usare l'autenticazione dell'entità servizio. Per altre informazioni, vedere Autenticazione dell'entità servizio. Per un esempio di uso dell'autenticazione dell'entità servizio per Azure SQL Database, vedere https://aka.ms/pl-data-trans.

Per stabilire la dipendenza dei dati tra i passaggi, usare il get_output metodo per ottenere un PipelineData oggetto che rappresenta l'output di questo passaggio di trasferimento dati e può essere usato come input per i passaggi successivi della 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)

Per creare un oggetto con un InputPortBinding nome specifico, è possibile combinare l'output get_output() con l'output dei as_input metodi o as_mount di PipelineData.


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

Metodi

create_node

Creare un nodo dal passaggio DataTransfer e aggiungerlo al grafico specificato.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che il passaggio possa essere aggiunto a un grafico della pipeline che rappresenta il flusso di lavoro.

get_output

Ottenere l'output del passaggio come PipelineData.

create_node

Creare un nodo dal passaggio DataTransfer e aggiungerlo al grafico specificato.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che il passaggio possa essere aggiunto a un grafico della pipeline che rappresenta il flusso di lavoro.

create_node(graph, default_datastore, context)

Parametri

Nome Descrizione
graph
Necessario

Oggetto graph a cui aggiungere il nodo.

default_datastore
Necessario

Archivio dati predefinito.

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

Contesto del grafico.

Restituisce

Tipo Descrizione

Nodo creato.

get_output

Ottenere l'output del passaggio come PipelineData.

get_output()

Restituisce

Tipo Descrizione

Output del passaggio.

Commenti

Per stabilire la dipendenza dei dati tra i passaggi, usare get_output il metodo per ottenere un PipelineData oggetto che rappresenta l'output di questo passaggio di trasferimento dati e può essere usato come input per i passaggi successivi della 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)

Per creare un oggetto con un InputPortBinding nome specifico, è possibile combinare get_output() chiamata con as_input o as_mount metodi helper.


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

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