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._DataTransferStepBaseDataTransferStep
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
- source_data_reference
- Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
[Erforderlich] Eine Eingabeverbindung, die als Quelle des Datenübertragungsvorgangs dient.
- destination_data_reference
- Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
[Erforderlich] Eine Ausgabeverbindung, die als Ziel des Datenübertragungsvorgangs dient.
- compute_target
- DataFactoryCompute, str
[Erforderlich] Eine Azure Data Factory, die zum Übertragen von Daten verwendet werden soll.
- source_reference_type
- str
Eine optionale Zeichenfolge, die den Typ von source_data_reference
angibt. 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
- str
Eine optionale Zeichenfolge, die den Typ von destination_data_reference
angibt.
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
- bool
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.
- source_data_reference
- Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
[Erforderlich] Eine Eingabeverbindung, die als Quelle des Datenübertragungsvorgangs dient.
- destination_data_reference
- Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
[Erforderlich] Eine Ausgabeverbindung, die als Ziel des Datenübertragungsvorgangs dient.
- compute_target
- DataFactoryCompute, str
[Erforderlich] Eine Azure Data Factory, die zum Übertragen von Daten verwendet werden soll.
- source_reference_type
- str
Eine optionale Zeichenfolge, die den Typ von source_data_reference
angibt. 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
- str
Eine optionale Zeichenfolge, die den Typ von destination_data_reference
angibt.
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
- bool
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
- default_datastore
- Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Der Standarddatenspeicher.
- context
- <xref:azureml.pipeline.core._GraphContext>
Der Graphkontext.
Gibt zurück
Der erstellte Knoten.
Rückgabetyp
get_output
Rufen Sie die Ausgabe des Schritts als PipelineData ab.
get_output()
Gibt zurück
Die Ausgabe des Schritts.
Rückgabetyp
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")
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für