Condividi tramite


DataTransferStep Classe

Crea un passaggio della pipeline di Azure ML 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 della pipeline di Azure ML che trasferisca i dati tra le opzioni di archiviazione.

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 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] 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 utilizzato il tipo di percorso esistente. Usare questo parametro per distinguere un file e una directory con lo 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, invece di trasferire nuovamente i dati, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili a tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo viene determinato dal fatto che la definizione del set di dati sia stata modificata, non indipendentemente 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 dati.

destination_data_reference
Necessario

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

compute_target
Necessario

[Obbligatorio] 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 utilizzato il tipo di percorso esistente. Usare questo parametro per distinguere un file e una directory con lo 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, invece di trasferire nuovamente i dati, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili a tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo viene determinato dal fatto che la definizione del set di dati sia stata modificata, non indipendentemente dal fatto che i dati sottostanti siano stati modificati.

Commenti

Questo passaggio supporta i tipi di archiviazione seguenti come origini e sink, tranne dove indicato:

  • Blob Storage di Azure

  • Azure Data Lake Storage Gen1 e Gen2

  • Database SQL di Microsoft Azure

  • Database di Azure per PostgreSQL

  • Database di Azure per MySQL

Per il database SQL di Azure, è 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 il database SQL di Azure, 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 InputPortBinding con un nome specifico, è possibile combinare get_output() 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 tale 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 tale 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 grafico a cui aggiungere il nodo.

default_datastore
Necessario

Archivio dati predefinito.

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

Contesto del grafo.

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 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 InputPortBinding con un nome specifico, è possibile combinare get_output() chiamata con as_input metodi helper o as_mount .


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

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