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

name
str
Obligatoire

[Obligatoire] Nom de l’étape.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
valeur par défaut: None

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

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
valeur par défaut: None

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

compute_target
DataFactoryCompute, str
valeur par défaut: None

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

source_reference_type
str
valeur par défaut: None

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
str
valeur par défaut: None

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
bool
valeur par défaut: True

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.

name
str
Obligatoire

[Obligatoire] Nom de l’étape.

source_data_reference
Union[InputPortBinding, DataReference, PortDataReference, PipelineData]
Obligatoire

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

destination_data_reference
Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference]
Obligatoire

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

compute_target
DataFactoryCompute, str
Obligatoire

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

source_reference_type
str
Obligatoire

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
str
Obligatoire

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
bool
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

graph
Graph
Obligatoire

Objet graphique auquel ajouter le nœud.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Obligatoire

Magasin de données par défaut.

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

Contexte du graphique.

Retours

Nœud créé.

Type de retour

get_output

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

get_output()

Retours

Sortie de l’étape.

Type de retour

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