Réutilisation de flux de données pour différents jeux de données - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Réutilisation de flux de données pour différents jeux de données

Pour les sources de données Amazon Simple Storage Service (Amazon S3), vous pouvez créer et utiliser des paramètres. Un paramètre est une variable que vous avez enregistrée dans votre flux Data Wrangler. Sa valeur peut être n'importe quelle partie du chemin Amazon S3 de la source de données. Utilisez des paramètres pour modifier rapidement les données que vous importez dans un flux Data Wrangler ou que vous exportez vers une tâche de traitement. Vous pouvez également utiliser des paramètres pour sélectionner et importer un sous-jeu spécifique de vos données.

Après avoir créé un flux Data Wrangler, vous avez peut-être entraîné un modèle sur les données que vous avez transformées. Pour les jeux de données qui ont le même schéma, vous pouvez utiliser des paramètres pour appliquer les mêmes transformations à un jeu de données différent et entraîner un modèle différent. Vous pouvez utiliser les nouveaux jeux de données pour effectuer des inférences avec votre modèle ou les utiliser pour réentraîner votre modèle.

En général, les paramètres ont les attributs suivants :

  • Name (Nom) : nom que vous spécifiez pour le paramètre

  • Type : type de valeur que le paramètre représente

  • Default value (Valeur par défaut) : valeur du paramètre lorsque vous ne spécifiez pas de nouvelle valeur

Note

Les paramètres de date/heure (Datetime) possèdent un attribut de plage horaire qu'ils utilisent comme valeur par défaut.

Data Wrangler utilise des accolades, {{}}, pour indiquer qu'un paramètre est utilisé dans le chemin Amazon S3. Par exemple, vous pouvez avoir un URL tel ques3://amzn-s3-demo-bucket1/{{example_parameter_name}}/example-dataset.csv.

Vous créez un paramètre lorsque vous modifiez la source de données Amazon S3 que vous avez importée. Vous pouvez attribuer une valeur de paramètre à n'importe quelle partie du chemin du fichier. Vous pouvez définir la valeur du paramètre sur une valeur ou un modèle. Les types de valeurs de paramètres disponibles dans le flux Data Wrangler sont les suivants :

  • Nombre

  • Chaîne

  • Modèle

  • Datetime

Note

Vous ne pouvez pas créer de paramètre de modèle ou de paramètre datetime pour le nom du compartiment dans le chemin Amazon S3.

Vous devez définir un nombre comme valeur par défaut d'un paramètre numérique. Vous pouvez remplacer la valeur du paramètre par un nombre différent lorsque vous modifiez un paramètre ou lorsque vous lancez une tâche de traitement. Par exemple, dans le chemin S3, s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv, vous pouvez créer un paramètre numérique nommé number_parameter à la place de 1. Votre chemin S3 apparaît désormais sous la forme s3://amzn-s3-demo-bucket/example-prefix/example-file-{{number_parameter}}.csv. Le chemin continue de pointer vers le jeu de données example-file-1.csv jusqu'à ce que vous modifiiez la valeur du paramètre. Si vous remplacez la valeur de number_parameter par 2, le chemin devient alors s3://amzn-s3-demo-bucket/example-prefix/example-file-2.csv. Vous pouvez importer example-file-2.csv dans Data Wrangler si vous avez chargé le fichier vers cet emplacement Amazon S3.

Un paramètre de chaîne stocke une chaîne comme valeur par défaut. Par exemple, dans le chemin S3, s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv, vous pouvez créer un paramètre de chaîne nommé string_parameter à la place du nom de fichier, example-file-1.csv. Le chemin apparaît désormais sous la forme s3://amzn-s3-demo-bucket/example-prefix/{{string_parameter}}. Il continue de correspondre à s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv, jusqu'à ce que vous modifiiez la valeur du paramètre.

Au lieu de spécifier le nom du fichier sous forme de paramètre de chaîne, vous pouvez créer un paramètre de chaîne en utilisant l'intégralité du chemin Amazon S3. Vous pouvez spécifier un jeu de données à partir de n'importe quel emplacement Amazon S3 dans le paramètre de chaîne.

Un paramètre de modèle stocke une chaîne d'expression régulière (PythonREGEX) comme valeur par défaut. Vous pouvez utiliser un paramètre de modèle pour importer plusieurs fichiers de données en même temps. Pour importer plusieurs objets à la fois, spécifiez une valeur de paramètre correspondant aux objets Amazon S3 que vous importez.

Vous pouvez également créer un paramètre de modèle pour les jeux de données suivants :

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-1.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-2.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-10.csv

  • s3://amzn-s3-demo-bucket/example-prefix/example-file-0123.csv

Pour s3://amzn-s3-demo-bucket1/example-prefix/example-file-1.csv, vous pouvez créer un paramètre de modèle à la place de 1 et définir la valeur par défaut du paramètre sur \d+. La \d+ REGEX chaîne correspond à un ou plusieurs chiffres décimaux. Si vous créez un paramètre de modèle nommé pattern_parameter, votre chemin S3 apparaît sous la forme s3://amzn-s3-demo-bucket1/example-prefix/example-file-{{pattern_parameter}}.csv.

Vous pouvez également utiliser des paramètres de modèle pour faire correspondre tous les CSV objets de votre compartiment. Pour faire correspondre tous les objets d'un compartiment, créez un paramètre de modèle dont la valeur par défaut est .* et définissez le chemin sur s3://amzn-s3-demo-bucket/{{pattern_parameter}}.csv. Le caractère .* correspond à n'importe quel caractère de chaîne du chemin.

Le chemin s3://amzn-s3-demo-bucket/{{pattern_parameter}}.csv peut correspondre aux jeux de données suivants.

  • example-file-1.csv

  • other-example-file.csv

  • example-file-a.csv

Un paramètre de date/heure (datetime) stocke le format avec les informations suivantes :

  • Un format pour analyser les chaînes à l'intérieur d'un chemin Amazon S3.

  • Une plage de temps relative pour limiter les valeurs de date/heure qui correspondent

Par exemple, dans le chemin de fichier Amazon S3, s3://amzn-s3-demo-bucket/2020/01/01/example-dataset.csv, 2020/01/01 représente une date au format year/month/day. Vous pouvez définir la plage de temps du paramètre sur un intervalle tel que 1 years ou 24 hours. Un intervalle 1 years correspond à tous les chemins S3 dont les dates/heures se situent entre l'heure actuelle et l'heure qui précède exactement d'un an l'heure actuelle. L'heure actuelle est l'heure à laquelle vous commencez à exporter les transformations que vous avez apportées aux données. Pour plus d'informations sur l'exportation des données, consultez Exporter. Si la date actuelle est le 01/01/2022 et que l'intervalle de temps est 1 years, le chemin S3 correspond aux jeux de données tels que les suivants :

  • s3://amzn-s3-demo-bucket/2021/01/01/example-dataset.csv

  • s3://amzn-s3-demo-bucket/2021/06/30/example-dataset.csv

  • s3://amzn-s3-demo-bucket/2021/12/31/example-dataset.csv

Les valeurs de date/heure (datetime) comprises dans un intervalle de temps relatif changent au fil du temps. Les chemins S3 qui se situent dans la plage de temps relative peuvent également différer.

Pour le chemin de fichier Amazon S3, s3://amzn-s3-demo-bucket1/20200101/example-dataset.csv, 20220101 est un exemple de chemin pouvant devenir un paramètre de date/heure (datetime).

Pour afficher un tableau de tous les paramètres que vous avez créés dans le flux Data Wrangler, choisissez le signe {{}} à droite de la zone de texte contenant le chemin Amazon S3. Si vous n'avez plus besoin d'un paramètre que vous avez créé, vous pouvez le modifier ou le supprimer. Pour modifier ou supprimer un paramètre, choisissez les icônes à droite du paramètre.

Important

Avant de supprimer un paramètre, assurez-vous de ne l'avoir utilisé nulle part dans votre flux Data Wrangler. Les paramètres supprimés qui se trouvent toujours dans le flux provoquent des erreurs.

Vous pouvez créer des paramètres pour chaque étape de votre flux Data Wrangler. Vous pouvez modifier ou supprimer un paramètre que vous avez créé. Si vous appliquez des transformations sur vos données qui ne sont plus pertinentes pour votre cas d'utilisation, vous pouvez modifier les valeurs des paramètres. La modification des valeurs des paramètres modifie les données que vous importez.

Les sections suivantes fournissent des exemples supplémentaires et des instructions générales sur l'utilisation des paramètres. Vous pouvez consulter ces sections pour déterminer les paramètres qui vous conviennent le mieux.

Note

Les sections suivantes contiennent des procédures qui utilisent l'interface Data Wrangler pour remplacer les paramètres et créer une tâche de traitement.

Vous pouvez également remplacer les paramètres à l'aide des procédures suivantes.

Pour exporter votre flux Data Wrangler et remplacer la valeur d'un paramètre, procédez comme suit.

  1. Cliquez sur l'icône + en regard du nœud que vous souhaitez exporter.

  2. Choisissez Export to (Exporter vers).

  3. Choisissez l'emplacement où vous souhaitez exporter les données.

  4. Sous parameter_overrides, spécifiez différentes valeurs pour les paramètres que vous avez créés.

  5. Exécutez le bloc-notes Jupyter.

Vous pouvez utiliser des paramètres pour appliquer des transformations dans votre flux Data Wrangler à différents fichiers qui correspondent à un modèle du chemin Amazon S3URI. Cela vous permet de spécifier les fichiers de votre compartiment S3 que vous souhaitez transformer avec une grande précision. Par exemple, vous pouvez avoir un jeu de données avec le chemin s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv. Les différents jeux de données nommés example-dataset.csv sont stockés sous de nombreux exemples de préfixes différents. Les préfixes peuvent également être numérotés de manière séquentielle. Vous pouvez créer des modèles pour les numéros dans Amazon S3URI. Les paramètres du modèle REGEX permettent de sélectionner un nombre quelconque de fichiers correspondant au modèle de l'expression. Les REGEX modèles suivants peuvent être utiles :

  • .* : correspond à zéro ou plusieurs caractères, à l'exception des caractères de saut de ligne

  • .+ : correspond à un ou plusieurs caractères, à l'exception des caractères de saut de ligne

  • \d+ : correspond à un ou plusieurs nombres décimaux

  • \w+ : correspond à un ou plusieurs caractères alphanumériques

  • [abc-_]{2,4} : correspond à une chaîne de deux, trois ou quatre caractères composée du jeu de caractères fourni entre crochets

  • abc|def : correspond à une chaîne ou à une autre. Par exemple, l'opération correspond à abc ou def

Vous pouvez remplacer chaque nombre dans les chemins suivants par un seul paramètre ayant pour valeur \d+.

  • s3://amzn-s3-demo-bucket1/example-prefix-3/example-prefix-4/example-prefix-5/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix-8/example-prefix-12/example-prefix-13/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix-4/example-prefix-9/example-prefix-137/example-dataset.csv

La procédure suivante crée un paramètre de modèle pour un jeu de données avec le chemin s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv.

Pour créer un paramètre de modèle, procédez comme suit.

  1. À côté du jeu de données que vous avez importé, choisissez Edit dataset (Modifier le jeu de données).

  2. Mettez en évidence le 0 dans example-prefix-0.

  3. Spécifiez des valeurs pour les champs suivants :

    • Name (Nom) : nom du paramètre

    • TypePattern (Modèle)

    • Value (Valeur) – \d+ une expression régulière qui correspond à un ou plusieurs chiffres

  4. Sélectionnez Create (Créer).

  5. Remplacez le URI chemin 1 et 2 dans S3 par le paramètre. Le chemin doit avoir le format suivant : s3://amzn-s3-demo-bucket1/example-prefix-{{example_parameter_name}}/example-prefix-{{example_parameter_name}}/example-prefix-{{example_parameter_name}}/example-dataset.csv

La procédure générale suivante permet de créer un paramètre de modèle.

  1. Accédez à votre flux Data Wrangler.

  2. À côté du jeu de données que vous avez importé, choisissez Edit dataset (Modifier le jeu de données).

  3. Mettez en surbrillance la partie URI que vous utilisez comme valeur du paramètre de modèle.

  4. Choisissez Create custom parameter (Créer un paramètre personnalisé).

  5. Spécifiez des valeurs pour les champs suivants :

    • Name (Nom) : nom du paramètre

    • TypePattern (Modèle)

    • Value (Valeur) : expression régulière contenant le modèle que vous souhaitez stocker.

  6. Sélectionnez Create (Créer).

Vous pouvez utiliser des paramètres pour appliquer des transformations de votre flux Data Wrangler à différents fichiers ayant des chemins similaires. Par exemple, vous pouvez avoir un jeu de données avec le chemin s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv.

Il se peut que des transformations de votre flux Data Wrangler aient été appliquées aux jeux de données situés sous example-prefix-1. Vous pouvez souhaiter appliquer les mêmes transformations à example-dataset.csv sous example-prefix-10 ou example-prefix-20.

Vous pouvez créer un paramètre qui stocke la valeur 1. Si vous souhaitez appliquer les transformations à différents jeux de données, vous pouvez créer des tâches de traitement qui remplacent la valeur du paramètre par une valeur différente. Le paramètre agit comme un espace réservé que vous pouvez modifier lorsque vous souhaitez appliquer les transformations de votre flux Data Wrangler à de nouvelles données. Vous pouvez remplacer la valeur du paramètre lorsque vous créez une tâche de traitement Data Wrangler pour appliquer les transformations de votre flux Data Wrangler à différents jeux de données.

Utilisez la procédure suivante pour créer des paramètres numériques pour s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv.

Pour créer des paramètres pour le URI chemin S3 précédent, procédez comme suit.

  1. Accédez à votre flux Data Wrangler.

  2. À côté du jeu de données que vous avez importé, choisissez Edit dataset (Modifier le jeu de données).

  3. Mettez en évidence le nombre dans un exemple de préfixe example-prefix-number.

  4. Choisissez Create custom parameter (Créer un paramètre personnalisé).

  5. Pour Name (Nom), spécifiez un nom pour le paramètre.

  6. Pour Type, choisissez Integer (Entier).

  7. Pour Value (Valeur), spécifiez le nombre.

  8. Créez des paramètres pour les nombres restants en répétant la procédure.

Une fois les paramètres créés, appliquez les transformations à votre jeu de données et créez un nœud de destination pour ceux-ci. Pour plus d'informations sur les nœuds de destination, consultez Exporter.

Suivez la procédure suivante pour appliquer les transformations de votre flux Data Wrangler à une autre plage de temps. Cela suppose que vous avez créé un nœud de destination pour les transformations de votre flux.

Pour modifier la valeur d'un paramètre numérique dans une tâche de traitement Data Wrangler, procédez comme suit.

  1. Dans votre flux Data Wrangler, choisissez Create job (Créer une tâche).

  2. Sélectionnez uniquement le nœud de destination qui contient les transformations du jeu de données contenant les paramètres de date/heure (datetime).

  3. Choisissez Configure job (Configurer la tâche).

  4. Choisissez Parameters (Paramètres).

  5. Sélectionnez le nom d'un paramètre que vous avez créé.

  6. Modifiez la valeur de ce paramètre.

  7. Répétez la procédure pour les autres paramètres.

  8. Cliquez sur Exécuter.

Vous pouvez utiliser des paramètres pour appliquer des transformations de votre flux Data Wrangler à différents fichiers ayant des chemins similaires. Par exemple, vous pouvez avoir un jeu de données avec le chemin s3://amzn-s3-demo-bucket1/example-prefix/example-dataset.csv.

Vous pouvez avoir des transformations issues de votre flux Data Wrangler que vous avez appliquées à des jeux de données sous example-prefix. Vous pouvez appliquer ces mêmes transformations à example-dataset.csv sous another-example-prefix ou example-prefix-20.

Vous pouvez créer un paramètre qui stocke la valeur example-prefix. Si vous souhaitez appliquer les transformations à différents jeux de données, vous pouvez créer des tâches de traitement qui remplacent la valeur du paramètre par une valeur différente. Le paramètre agit comme un espace réservé que vous pouvez modifier lorsque vous souhaitez appliquer les transformations de votre flux Data Wrangler à de nouvelles données. Vous pouvez remplacer la valeur du paramètre lorsque vous créez une tâche de traitement Data Wrangler pour appliquer les transformations de votre flux Data Wrangler à différents jeux de données.

Utilisez la procédure suivante pour créer un paramètre de chaîne pour s3://amzn-s3-demo-bucket1/example-prefix/example-dataset.csv.

Pour créer un paramètre pour le URI chemin S3 précédent, procédez comme suit.

  1. Accédez à votre flux Data Wrangler.

  2. À côté du jeu de données que vous avez importé, choisissez Edit dataset (Modifier le jeu de données).

  3. Mettez en évidence l'exemple de préfixe, example-prefix.

  4. Choisissez Create custom parameter (Créer un paramètre personnalisé).

  5. Pour Name (Nom), spécifiez un nom pour le paramètre.

  6. Pour Type, choisissez String (Chaîne).

  7. Pour Value (Valeur), spécifiez le préfixe.

Une fois le paramètre créé, appliquez les transformations à votre jeu de données et créez un nœud de destination pour celles-ci. Pour plus d'informations sur les nœuds de destination, consultez Exporter.

Suivez la procédure suivante pour appliquer les transformations de votre flux Data Wrangler à une autre plage de temps. Cela suppose que vous avez créé un nœud de destination pour les transformations de votre flux.

Pour modifier la valeur d'un paramètre numérique dans une tâche de traitement Data Wrangler, procédez comme suit :

  1. Dans votre flux Data Wrangler, choisissez Create job (Créer une tâche).

  2. Sélectionnez uniquement le nœud de destination qui contient les transformations du jeu de données contenant les paramètres de date/heure (datetime).

  3. Choisissez Configure job (Configurer la tâche).

  4. Choisissez Parameters (Paramètres).

  5. Sélectionnez le nom d'un paramètre que vous avez créé.

  6. Modifiez la valeur de ce paramètre.

  7. Répétez la procédure pour les autres paramètres.

  8. Cliquez sur Exécuter.

Utilisez les paramètres de date/heure (datetime) pour appliquer des transformations de votre flux Data Wrangler à différentes plages de temps. Mettez en surbrillance la partie de l'Amazon S3 URI qui possède un horodatage et créez un paramètre pour celle-ci. Lorsque vous créez un paramètre, vous spécifiez une période comprise entre l'heure actuelle et une heure passée. Par exemple, vous pourriez avoir un Amazon S3 URI qui ressemble à ce qui suit :s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv. Vous pouvez enregistrer 2022/05/15 en tant que paramètre de date/heure (datetime). Si vous spécifiez une année comme intervalle de temps, cet intervalle inclut le moment où vous exécutez la tâche de traitement contenant le paramètre de date/heure et l'heure il y a exactement un an. Si le moment où vous exécutez la tâche de traitement est le 6 septembre 2022 ou 2022/09/06, les plages horaires peuvent inclure les suivantes :

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/03/15/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/01/08/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/07/31/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2021/09/07/example-dataset.csv

Les transformations du flux Data Wrangler s'appliquent à tous les préfixes précédents. La modification de la valeur du paramètre dans la tâche de traitement ne modifie pas la valeur du paramètre dans le flux Data Wrangler. Pour appliquer les transformations aux jeux de données dans une autre plage horaire, procédez comme suit :

  1. Créez un nœud de destination contenant toutes les transformations que vous souhaitez utiliser.

  2. Créez une tâche Data Wrangler.

  3. Configurez la tâche de manière à utiliser une plage horaire différente pour le paramètre. La modification de la valeur du paramètre dans la tâche de traitement ne modifie pas la valeur du paramètre dans le flux Data Wrangler.

Pour plus d'informations sur les nœuds de destination et les tâches Data Wrangler, consultez Exporter.

La procédure suivante crée un paramètre de date/heure (datetime) pour le chemin Amazon S3 : s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv.

Pour créer un paramètre datetime pour le URI chemin S3 précédent, procédez comme suit.

  1. Accédez à votre flux Data Wrangler.

  2. À côté du jeu de données que vous avez importé, choisissez Edit dataset (Modifier le jeu de données).

  3. Mettez en surbrillance la partie URI que vous utilisez comme valeur du paramètre datetime.

  4. Choisissez Create custom parameter (Créer un paramètre personnalisé).

  5. Pour Name (Nom), spécifiez un nom pour le paramètre.

  6. Pour Type, choisissez Datetime (Date/Heure).

    Note

    Par défaut, Data Wrangler sélectionne Predefined (Prédéfini), qui propose un menu déroulant vous permettant de sélectionner un format de date. Toutefois, le format d'horodatage que vous utilisez peut ne pas être disponible. Au lieu d'utiliser Predefined (Prédéfini) comme option par défaut, vous pouvez choisir Custom (Personnalisé) et spécifier le format d'horodatage manuellement.

  7. Pour Date format (Format de date), ouvrez le menu déroulant suivant Predefined (Prédéfini) et choisissez yyyy/MM/dd (aaaa/MM/jj). Le format, yyyy/MM/dd (aaaa/MM/jj), correspond à l'année, au mois et au jour de l'horodatage.

  8. Dans le champ Timezone (Fuseau horaire), choisissez un fuseau horaire.

    Note

    Les données que vous analysez peuvent avoir des horodatages pris dans un fuseau horaire différent du vôtre. Assurez-vous que le fuseau horaire que vous sélectionnez correspond à celui des données.

  9. Pour Time range (Plage de temps), spécifiez la plage de temps du paramètre.

  10. (Facultatif) Saisissez une description indiquant la manière dont vous utilisez le paramètre.

  11. Sélectionnez Create (Créer).

Une fois les paramètres de date/heure (datetime) créés, appliquez les transformations à votre jeu de données et créez un nœud de destination pour celles-ci. Pour plus d'informations sur les nœuds de destination, consultez Exporter.

Suivez la procédure suivante pour appliquer les transformations de votre flux Data Wrangler à une autre plage de temps. Cela suppose que vous avez créé un nœud de destination pour les transformations de votre flux.

Pour modifier la valeur d'un paramètre de date/heure (datetime) dans une tâche de traitement Data Wrangler, procédez comme suit :

  1. Dans votre flux Data Wrangler, choisissez Create job (Créer une tâche).

  2. Sélectionnez uniquement le nœud de destination qui contient les transformations du jeu de données contenant les paramètres de date/heure (datetime).

  3. Choisissez Configure job (Configurer la tâche).

  4. Choisissez Parameters (Paramètres).

  5. Sélectionnez le nom d'un paramètre de date/heure (datetime) que vous avez créé.

  6. Pour Time range (Plage de temps), modifiez la plage de temps des jeux de données.

  7. Cliquez sur Exécuter.