Partager via


DataTransferStep Classe

Crée une étape de pipeline Azure ML qui transfère les données entre les options de stockage.

DataTransferStep prend en charge les types de stockage courants tels que Stockage Blob Azure et Azure Data Lake en tant que sources et récepteurs. Pour plus d’informations, consultez la section Remarques .

Pour obtenir un exemple d’utilisation de DataTransferStep, consultez le notebook https://aka.ms/pl-data-trans.

Créez une étape de pipeline Azure ML qui transfère les données entre les options de stockage.

Constructeur

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

Paramètres

Nom Description
name
Obligatoire
str

[Obligatoire] Nom de l’étape.

source_data_reference

[Obligatoire] Connexion d’entrée qui sert de source de l’opération de transfert de données.

Valeur par défaut: None
destination_data_reference

[Obligatoire] Connexion de sortie qui sert de destination de l’opération de transfert de données.

Valeur par défaut: None
compute_target

[Obligatoire] Azure Data Factory à utiliser pour transférer des données.

Valeur par défaut: None
source_reference_type
str

Chaîne facultative spécifiant le type de source_data_reference. Les valeurs possibles sont les suivantes : « fichier », « répertoire ». Lorsqu’il n’est pas spécifié, le type de chemin d’accès existant est utilisé. Utilisez ce paramètre pour différencier un fichier et un répertoire du même nom.

Valeur par défaut: None
destination_reference_type
str

Chaîne facultative spécifiant le type de destination_data_reference. Les valeurs possibles sont les suivantes : « fichier », « répertoire ». Lorsqu’il n’est pas spécifié, Azure ML utilise le type de chemin d’accès existant, de référence source ou de « répertoire », dans cet ordre.

Valeur par défaut: None
allow_reuse

Indique si l’étape doit réutiliser les résultats précédents lors de la réexécutation avec les mêmes paramètres. La réutilisation est activée par défaut. Si les arguments d’étape restent inchangés, la sortie de l’exécution précédente de cette étape est réutilisée. Lors de la réutilisation de l’étape, au lieu de transférer à nouveau des données, les résultats de l’exécution précédente sont immédiatement mis à la disposition des étapes suivantes. Si vous utilisez des jeux de données Azure Machine Learning comme entrées, la réutilisation est déterminée par la modification de la définition du jeu de données, et non par la modification des données sous-jacentes.

Valeur par défaut: True
name
Obligatoire
str

[Obligatoire] Nom de l’étape.

source_data_reference
Obligatoire

[Obligatoire] Connexion d’entrée qui sert de source de l’opération de transfert de données.

destination_data_reference
Obligatoire

[Obligatoire] Connexion de sortie qui sert de destination de l’opération de transfert de données.

compute_target
Obligatoire

[Obligatoire] Azure Data Factory à utiliser pour transférer des données.

source_reference_type
Obligatoire
str

Chaîne facultative spécifiant le type de source_data_reference. Les valeurs possibles sont les suivantes : « fichier », « répertoire ». Lorsqu’il n’est pas spécifié, le type de chemin d’accès existant est utilisé. Utilisez ce paramètre pour différencier un fichier et un répertoire du même nom.

destination_reference_type
Obligatoire
str

Chaîne facultative spécifiant le type de destination_data_reference. Les valeurs possibles sont les suivantes : « fichier », « répertoire ». Lorsqu’il n’est pas spécifié, Azure ML utilise le type de chemin d’accès existant, de référence source ou de « répertoire », dans cet ordre.

allow_reuse
Obligatoire

Indique si l’étape doit réutiliser les résultats précédents lors de la réexécutation avec les mêmes paramètres. La réutilisation est activée par défaut. Si les arguments d’étape restent inchangés, la sortie de l’exécution précédente de cette étape est réutilisée. Lors de la réutilisation de l’étape, au lieu de transférer à nouveau des données, les résultats de l’exécution précédente sont immédiatement mis à la disposition des étapes suivantes. Si vous utilisez des jeux de données Azure Machine Learning comme entrées, la réutilisation est déterminée par la modification de la définition du jeu de données, et non par la modification des données sous-jacentes.

Remarques

Cette étape prend en charge les types de stockage suivants en tant que sources et récepteurs, sauf indication contraire :

  • Stockage de Blobs Azure

  • Azure Data Lake Storage Gen1 et Gen2

  • Azure SQL Database

  • Azure Database pour PostgreSQL

  • Azure Database pour MySQL

Pour Azure SQL Database, vous devez utiliser l’authentification du principal de service. Pour plus d’informations, consultez Authentification du principal de service. Pour obtenir un exemple d’utilisation de l’authentification du principal de service pour Azure SQL Database, consultez https://aka.ms/pl-data-trans.

Pour établir une dépendance de données entre les étapes, utilisez la get_output méthode pour obtenir un PipelineData objet qui représente la sortie de cette étape de transfert de données et peut être utilisé comme entrée pour les étapes ultérieures du 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)

Pour créer un InputPortBinding nom spécifique, vous pouvez combiner get_output() sortie avec la sortie des méthodes ou as_input des as_mount méthodes de PipelineData.


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

Méthodes

create_node

Créez un nœud à partir de l’étape DataTransfer et ajoutez-le au graphique donné.

Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec cette étape, Azure ML transmet automatiquement les paramètres requis par cette méthode afin que cette étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail.

get_output

Obtenez la sortie de l’étape en tant que PipelineData.

create_node

Créez un nœud à partir de l’étape DataTransfer et ajoutez-le au graphique donné.

Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec cette étape, Azure ML transmet automatiquement les paramètres requis par cette méthode afin que cette étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail.

create_node(graph, default_datastore, context)

Paramètres

Nom Description
graph
Obligatoire

Objet graphique auquel ajouter le nœud.

default_datastore
Obligatoire

Magasin de données par défaut.

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

Contexte de graphe.

Retours

Type Description

Nœud créé.

get_output

Obtenez la sortie de l’étape en tant que PipelineData.

get_output()

Retours

Type Description

Sortie de l’étape.

Remarques

Pour établir une dépendance de données entre les étapes, utilisez get_output la méthode pour obtenir un PipelineData objet qui représente la sortie de cette étape de transfert de données et qui peut être utilisé comme entrée pour les étapes ultérieures du 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)

Pour créer un InputPortBinding nom spécifique, vous pouvez combiner un appel get_output() avec ou as_input des as_mount méthodes d’assistance.


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

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