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
Name | Beschreibung |
---|---|
name
Erforderlich
|
[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
|
Eine optionale Zeichenfolge, die den Typ von Standardwert: None
|
destination_reference_type
|
Eine optionale Zeichenfolge, die den Typ von 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
|
[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
|
Eine optionale Zeichenfolge, die den Typ von |
destination_reference_type
Erforderlich
|
Eine optionale Zeichenfolge, die den Typ von |
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")