Freigeben über


DataTransferStep Klasse

Erstellt einen Azure ML-Pipelineschritt, der Daten zwischen Speicheroptionen überträgt.

DataTransferStep unterstützt gängige Speichertypen wie Azure Blob Storage und Azure Data Lake als Quellen und Senken. Weitere Informationen finden Sie im Abschnitt Hinweise.

Ein Beispiel für die Verwendung von DatabricksTransferStep finden Sie im Notebook https://aka.ms/pl-data-trans.

Erstellen Sie einen Azure ML Pipeline-Schritt, der Daten zwischen Speicheroptionen überträgt.

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

Parameter

Name Beschreibung
name
Erforderlich
str

[Erforderlich] Der Name des Schritts.

source_data_reference

[Erforderlich] Eine Eingabeverbindung, die als Quelle des Datenübertragungsvorgangs dient.

Standardwert: None
destination_data_reference

[Erforderlich] Eine Ausgabeverbindung, die als Ziel des Datenübertragungsvorgangs dient.

Standardwert: None
compute_target

[Erforderlich] Eine Azure Data Factory, die zum Übertragen von Daten verwendet werden soll.

Standardwert: None
source_reference_type
str

Eine optionale Zeichenfolge, die den Typ von source_data_referenceangibt. Mögliche Werte sind etwa „file“ oder „directory“. Wenn keine Angabe erfolgt, wird der Typ des vorhandenen Pfads verwendet. Verwenden Sie diesen Parameter, um zwischen einer Datei und einem Verzeichnis mit dem gleichen Namen zu unterscheiden.

Standardwert: None
destination_reference_type
str

Eine optionale Zeichenfolge, die den Typ von destination_data_referenceangibt. Mögliche Werte sind etwa „file“ oder „directory“. Wenn keine Angabe erfolgt, verwendet Azure ML den Typ des vorhandenen Pfads, Quellverweises oder „Verzeichnisses“ in dieser Reihenfolge.

Standardwert: None
allow_reuse

Gibt an, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen erneut ausgeführt wird. Die Wiederverwendung ist standardmäßig aktiviert. Wenn Schrittargumente unverändert bleiben, wird die Ausgabe aus der vorherigen Ausführung dieses Schritts wiederverwendet. Wenn Sie den Schritt wiederverwenden, müssen Sie die Daten nicht erneut übertragen, sondern die Ergebnisse des vorangegangenen Ausführung werden sofort für alle nachfolgenden Schritte zur Verfügung gestellt. Wenn Sie Azure Machine Learning-Datasets als Eingaben verwenden, hängt die Wiederverwendung nicht davon ab, ob sich die zugrunde liegenden Daten geändert haben, sondern davon, ob sich die Definition des Datasets geändert hat.

Standardwert: True
name
Erforderlich
str

[Erforderlich] Der Name des Schritts.

source_data_reference
Erforderlich

[Erforderlich] Eine Eingabeverbindung, die als Quelle des Datenübertragungsvorgangs dient.

destination_data_reference
Erforderlich

[Erforderlich] Eine Ausgabeverbindung, die als Ziel des Datenübertragungsvorgangs dient.

compute_target
Erforderlich

[Erforderlich] Eine Azure Data Factory, die zum Übertragen von Daten verwendet werden soll.

source_reference_type
Erforderlich
str

Eine optionale Zeichenfolge, die den Typ von source_data_referenceangibt. Mögliche Werte sind etwa „file“ oder „directory“. Wenn keine Angabe erfolgt, wird der Typ des vorhandenen Pfads verwendet. Verwenden Sie diesen Parameter, um zwischen einer Datei und einem Verzeichnis mit dem gleichen Namen zu unterscheiden.

destination_reference_type
Erforderlich
str

Eine optionale Zeichenfolge, die den Typ von destination_data_referenceangibt. Mögliche Werte sind etwa „file“ oder „directory“. Wenn keine Angabe erfolgt, verwendet Azure ML den Typ des vorhandenen Pfads, Quellverweises oder „Verzeichnisses“ in dieser Reihenfolge.

allow_reuse
Erforderlich

Gibt an, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen erneut ausgeführt wird. Die Wiederverwendung ist standardmäßig aktiviert. Wenn Schrittargumente unverändert bleiben, wird die Ausgabe aus der vorherigen Ausführung dieses Schritts wiederverwendet. Wenn Sie den Schritt wiederverwenden, müssen Sie die Daten nicht erneut übertragen, sondern die Ergebnisse des vorangegangenen Ausführung werden sofort für alle nachfolgenden Schritte zur Verfügung gestellt. Wenn Sie Azure Machine Learning-Datasets als Eingaben verwenden, hängt die Wiederverwendung nicht davon ab, ob sich die zugrunde liegenden Daten geändert haben, sondern davon, ob sich die Definition des Datasets geändert hat.

Hinweise

Dieser Schritt unterstützt die folgenden Speichertypen als Quellen und Senken, sofern nicht anders angegeben:

  • Azure Blob Storage

  • Azure Data Lake Storage Gen1 und Gen2

  • Azure SQL-Datenbank

  • Azure Database for PostgreSQL

  • Azure Database for MySQL

Für die Azure SQL-Datenbank müssen Sie die Dienstprinzipalauthentifizierung verwenden. Weitere Informationen finden Sie unter Dienstprinzipalauthentifizierung. Ein Beispiel für die Verwendung der Dienstprinzipalauthentifizierung für die Azure SQL-Datenbank finden Sie unter https://aka.ms/pl-data-trans.

Um eine Datenabhängigkeit zwischen Schritten herzustellen, verwenden Sie die get_output-Methode, um ein PipelineData-Objekt abzurufen, das die Ausgabe dieses Datenübertragungsschritts darstellt und als Eingabe für spätere Schritte in der Pipeline verwendet werden kann.


   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)

Um eine InputPortBinding mit einem bestimmten Namen zu erstellen, können Sie die Ausgabe von get_output() mit der Ausgabe der Methoden as_input oder as_mount von PipelineData kombinieren.


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

Methoden

create_node

Erstellen Sie einen Knoten aus dem DataTransfer-Schritt und fügen Sie ihn dem angegebenen Diagramm hinzu.

Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt.

get_output

Rufen Sie die Ausgabe des Schritts als PipelineData ab.

create_node

Erstellen Sie einen Knoten aus dem DataTransfer-Schritt und fügen Sie ihn dem angegebenen Diagramm hinzu.

Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt.

create_node(graph, default_datastore, context)

Parameter

Name Beschreibung
graph
Erforderlich

Das Graphobjekt, dem der Knoten hinzugefügt werden soll.

default_datastore
Erforderlich

Der Standarddatenspeicher.

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

Der Graphkontext.

Gibt zurück

Typ Beschreibung

Der erstellte Knoten.

get_output

Rufen Sie die Ausgabe des Schritts als PipelineData ab.

get_output()

Gibt zurück

Typ Beschreibung

Die Ausgabe des Schritts.

Hinweise

Um eine Datenabhängigkeit zwischen Schritten herzustellen, verwenden Sie die get_output-Methode, um ein PipelineData-Objekt abzurufen, das die Ausgabe dieses Datenübertragungsschritts darstellt und als Eingabe für spätere Schritte in der Pipeline verwendet werden kann.


   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)

Um einen InputPortBinding mit einem bestimmten Namen zu erstellen, können Sie den Aufruf get_output() mit den Hilfsmethoden as_input oder as_mount kombinieren.


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

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