Partager via


DataTransferStep Classe

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

DataTransferStep prend en charge les types de stockage courants comme Stockage Blob Azure et Azure Data Lake Storage 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 des données entre les options de stockage.

Héritage
azureml.pipeline.core._data_transfer_step_base._DataTransferStepBase
DataTransferStep

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 à l’opération de transfert de données.

Valeur par défaut: None
destination_data_reference

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

Valeur par défaut: None
compute_target

[Obligatoire] Service Azure Data Factory à utiliser pour le transfert de 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 : « file », « directory ». Lorsqu’il n’est pas spécifié, le type de chemin existant est utilisé. Utilisez ce paramètre pour faire la distinction entre 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 : « file », « directory ». Lorsqu’il n’est pas spécifié, Azure ML utilise le type de chemin existant, la référence source ou le 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 lorsqu’elle est exécutée 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 retransférer 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 le fait que la définition du jeu de données a changé ou pas, non par la modification éventuelle 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 à l’opération de transfert de données.

destination_data_reference
Obligatoire

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

compute_target
Obligatoire

[Obligatoire] Service Azure Data Factory à utiliser pour le transfert de données.

source_reference_type
Obligatoire
str

Chaîne facultative spécifiant le type de source_data_reference. Les valeurs possibles sont les suivantes : « file », « directory ». Lorsqu’il n’est pas spécifié, le type de chemin existant est utilisé. Utilisez ce paramètre pour faire la distinction entre 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 : « file », « directory ». Lorsqu’il n’est pas spécifié, Azure ML utilise le type de chemin existant, la référence source ou le répertoire, dans cet ordre.

allow_reuse
Obligatoire

Indique si l’étape doit réutiliser les résultats précédents lorsqu’elle est exécutée 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 retransférer 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 le fait que la définition du jeu de données a changé ou pas, non par la modification éventuelle des données sous-jacentes.

Remarques

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

  • Stockage Blob 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’authentification du principal de service pour Azure SQL Database, consultez https://aka.ms/pl-data-trans.

Pour établir la dépendance des données entre les étapes, utilisez la méthode get_output afin d’obtenir un objet PipelineData qui représente la sortie de cette étape de transfert de données et peut servir d’entrée pour les étapes ultérieures dans le 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 portant un nom spécifique, vous pouvez combiner la sortie get_output() avec la sortie des méthodes as_input ou as_mount 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ée un nœud à partir de l’étape DataTransfer et l’ajoute 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 via cette méthode afin que l’étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail.

get_output

Obtient la sortie de l’étape sous forme d’objet PipelineData.

create_node

Crée un nœud à partir de l’étape DataTransfer et l’ajoute 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 via cette méthode afin que l’é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 du graphique.

Retours

Type Description

Nœud créé.

get_output

Obtient la sortie de l’étape sous forme d’objet PipelineData.

get_output()

Retours

Type Description

Sortie de l’étape.

Remarques

Pour établir la dépendance des données entre les étapes, utilisez la méthode get_output afin d’obtenir un objet PipelineData 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 dans le 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 objet InputPortBinding portant un nom spécifique, vous pouvez combiner l’appel get_output() avec des méthodes d’assistance as_input ou as_mount.


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

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