Les données transforment chaque domaine et chaque entreprise. Cependant, avec une croissance des données plus rapide que la plupart des entreprises ne peuvent suivre, collecter des données et en tirer de la valeur est une tâche difficile. UN stratégie de données moderne peut vous aider à créer de meilleurs résultats commerciaux grâce aux données. AWS fournit l'ensemble de services le plus complet pour le parcours de données de bout en bout pour vous aider débloquez la valeur de vos données et transformez-le en perspicacité.
Les scientifiques des données peuvent passer jusqu'à 80 % de leur temps à préparer des données pour des projets d'apprentissage automatique (ML). Ce processus de préparation est un travail en grande partie indifférencié et fastidieux, et peut impliquer plusieurs API de programmation et bibliothèques personnalisées. Gestionnaire de données Amazon SageMaker aide les scientifiques et les ingénieurs de données à simplifier et à accélérer la préparation des données tabulaires et chronologiques et l'ingénierie des fonctionnalités via une interface visuelle. Vous pouvez importer des données à partir de plusieurs sources de données, telles que Service de stockage simple Amazon (Amazon S3), Amazone Athéna, Redshift d'Amazon, ou même des solutions tierces comme Flocon or DataBricks, et traitez vos données avec plus de 300 transformations de données intégrées et une bibliothèque d'extraits de code, afin que vous puissiez rapidement normaliser, transformer et combiner des fonctionnalités sans écrire de code. Vous pouvez également apporter vos transformations personnalisées dans PySpark, SQL ou Pandas.
Cet article montre comment vous pouvez planifier l'exécution automatique de vos tâches de préparation des données. Nous explorons également la nouvelle fonctionnalité Data Wrangler des ensembles de données paramétrés, qui vous permet de spécifier les fichiers à inclure dans un flux de données au moyen d'URI paramétrés.
Vue d'ensemble de la solution
Data Wrangler prend désormais en charge l'importation de données à l'aide d'un URI paramétré. Cela permet une plus grande flexibilité car vous pouvez désormais importer tous les ensembles de données correspondant aux paramètres spécifiés, qui peuvent être de type String, Number, Datetime et Pattern, dans l'URI. De plus, vous pouvez désormais déclencher vos tâches de transformation Data Wrangler selon un calendrier.
Dans cet article, nous créons un exemple de flux avec l'ensemble de données Titanic pour montrer comment vous pouvez commencer à expérimenter ces deux nouvelles fonctionnalités de Data Wrangler. Pour télécharger le jeu de données, reportez-vous à Titanic - Apprentissage automatique à partir d'une catastrophe.
Pré-requis
Pour obtenir toutes les fonctionnalités décrites dans cet article, vous devez exécuter la dernière version du noyau de Data Wrangler. Pour plus d'informations, reportez-vous à Mettre à jour Data Wrangler. De plus, vous devez courir Amazon SageMakerStudio JupyterLab 3. Pour afficher la version actuelle et la mettre à jour, reportez-vous à Gestion des versions de JupyterLab.
Structure de fichier
Pour cette démonstration, nous suivons une structure de fichiers simple que vous devez répliquer afin de reproduire les étapes décrites dans cet article.
- En Atelier, créer un nouveau bloc-notes.
- Exécutez l'extrait de code suivant pour créer la structure de dossiers que nous utilisons (assurez-vous que vous êtes dans le dossier souhaité dans votre arborescence de fichiers) :
- Copiez le
train.csv
ainsi quetest.csv
fichiers du jeu de données original du Titanic dans les dossierstitanic_dataset/train
ainsi quetitanic_dataset/test
, Respectivement. - Exécutez l'extrait de code suivant pour remplir les dossiers avec les fichiers nécessaires :
Nous divisons le train.csv
fichier du jeu de données Titanic en neuf fichiers différents, nommés part_x
, où x est le numéro de la pièce. La partie 0 contient les 100 premiers enregistrements, la partie 1 les 100 suivants, et ainsi de suite jusqu'à la partie 8. Chaque dossier de nœud de l'arborescence de fichiers contient une copie des neuf parties des données d'apprentissage, à l'exception des train
ainsi que test
dossiers contenant train.csv
ainsi que test.csv
.
Jeux de données paramétrés
Les utilisateurs de Data Wrangler peuvent désormais spécifier des paramètres pour les ensembles de données importés depuis Amazon S3. Les paramètres de l'ensemble de données sont spécifiés à l'URI des ressources et sa valeur peut être modifiée dynamiquement, ce qui permet une plus grande flexibilité pour sélectionner les fichiers que nous voulons importer. Les paramètres peuvent être de quatre types de données :
- Numéro – Peut prendre la valeur de n'importe quel entier
- Chaîne – Peut prendre la valeur de n'importe quelle chaîne de texte
- Patron de Couture – Peut prendre la valeur de n'importe quelle expression régulière
- Datetime – Peut prendre la valeur de n'importe lequel des formats de date/heure pris en charge
Dans cette section, nous fournissons une présentation de cette nouvelle fonctionnalité. Ceci est disponible uniquement après avoir importé votre ensemble de données dans votre flux actuel et uniquement pour les ensembles de données importés depuis Amazon S3.
- Dans votre flux de données, choisissez le signe plus (+) à côté de l'étape d'importation et choisissez Modifier l'ensemble de données.
- La méthode préférée (et la plus simple) pour créer de nouveaux paramètres consiste à mettre en surbrillance une section de votre URI et à choisir Créer un paramètre personnalisé dans le menu déroulant. Vous devez spécifier quatre éléments pour chaque paramètre que vous souhaitez créer :
- Nom
- Type
- Valeur par défaut
- Description
Ici, nous avons créé un paramètre de type String appeléfilename_param
avec une valeur par défaut detrain.csv
. Vous pouvez maintenant voir le nom du paramètre entre doubles crochets, remplaçant la partie de l'URI que nous avons précédemment mise en évidence. Étant donné que la valeur définie pour ce paramètre étaittrain.csv
, nous voyons maintenant le fichiertrain.csv
répertoriés dans la table d'importation. - Lorsque nous essayons de créer une tâche de transformation, sur le Configurer le travail étape, nous voyons maintenant un Paramètres section, où nous pouvons voir une liste de tous nos paramètres définis.
- Le choix du paramètre nous donne la possibilité de modifier la valeur du paramètre, dans ce cas, en modifiant le jeu de données d'entrée à transformer en fonction du flux défini.
En supposant que nous modifions la valeur defilename_param
detrain.csv
àpart_0.csv
, le travail de transformation prend maintenantpart_0.csv
(à condition qu'un fichier portant le nompart_0.csv
existe sous le même dossier) que ses nouvelles données d'entrée. - De plus, si vous essayez d'exporter votre flux vers une destination Amazon S3 (via un bloc-notes Jupyter), vous voyez maintenant une nouvelle cellule contenant les paramètres que vous avez définis.
Notez que le paramètre prend sa valeur par défaut, mais vous pouvez la modifier en remplaçant sa valeur dans leparameter_overrides
dictionnaire (tout en laissant les clés du dictionnaire inchangées).
De plus, vous pouvez créer de nouveaux paramètres à partir du Paramètres UI. - Ouvrez-le en choisissant l'icône des paramètres ({{}}) situé à côté du Go option; les deux sont situés à côté de la valeur du chemin URI.
Un tableau s'ouvre avec tous les paramètres qui existent actuellement sur votre fichier de flux (filename_param
À ce point). - Vous pouvez créer de nouveaux paramètres pour votre flux en choisissant Créer un paramètre.
Une fenêtre contextuelle s'ouvre pour vous permettre de créer un nouveau paramètre personnalisé. - Ici, nous avons créé un nouveau
example_parameter
comme type de nombre avec une valeur par défaut de 0. Ce paramètre nouvellement créé est maintenant répertorié dans le Paramètres table. Passer la souris sur le paramètre affiche les options Modifier, Supprimeret insérer. - De l'intérieur Paramètres UI, vous pouvez insérer l'un de vos paramètres dans l'URI en sélectionnant le paramètre souhaité et en choisissant insérer.
Cela ajoute le paramètre à la fin de votre URI. Vous devez le déplacer vers la section souhaitée dans votre URI. - Modifiez la valeur par défaut du paramètre, appliquez la modification (depuis le modal), choisissez Go, puis choisissez l'icône d'actualisation pour mettre à jour la liste d'aperçu à l'aide du jeu de données sélectionné en fonction de la valeur du paramètre nouvellement défini.Explorons maintenant d'autres types de paramètres. Supposons que nous ayons maintenant un jeu de données divisé en plusieurs parties, où chaque fichier a un numéro de partie.
- Si nous voulons changer dynamiquement le numéro de fichier, nous pouvons définir un paramètre Numéro comme indiqué dans la capture d'écran suivante.Notez que le fichier sélectionné est celui qui correspond au numéro spécifié dans le paramètre.
Montrons maintenant comment utiliser un paramètre Pattern. Supposons que nous voulions importer tous lespart_1.csv
fichiers dans tous les dossiers sous letitanic-dataset/
dossier. Les paramètres de modèle peuvent prendre n'importe quelle expression régulière valide ; il y a quelques modèles de regex montrés comme exemples. - Créez un paramètre Pattern appelé
any_pattern
pour correspondre à n'importe quel dossier ou fichier sous letitanic-dataset/
dossier avec la valeur par défaut.*
.Notez que le joker n'est pas un simple * (astérisque) mais qu'il a aussi un point. - Mettre en évidence le
titanic-dataset/
une partie du chemin et créez un paramètre personnalisé. Cette fois, nous choisissons le Patron de Couture type.Ce modèle sélectionne tous les fichiers appeléspart-1.csv
à partir de l'un des dossiers soustitanic-dataset/
.
Un paramètre peut être utilisé plusieurs fois dans un chemin. Dans l'exemple suivant, nous utilisons notre paramètre nouvellement crééany_pattern
deux fois dans notre URI pour correspondre à l'un des fichiers de pièce dans l'un des dossiers soustitanic-dataset/
.
Enfin, créons un paramètre Datetime. Les paramètres datetime sont utiles lorsque nous avons affaire à des chemins partitionnés par date et heure, comme ceux générés par Firehose de données Amazon Kinesis (voir Partitionnement dynamique dans Kinesis Data Firehose). Pour cette démonstration, nous utilisons les données du dossier datetime-data. - Sélectionnez la partie de votre chemin qui correspond à une date/heure et créez un paramètre personnalisé. Choisir la Datetime type de paramètre.
Lorsque vous choisissez le type de données Datetime, vous devez fournir plus de détails. - Tout d'abord, vous devez fournir un format de date. Vous pouvez choisir l'un des formats de date/heure prédéfinis ou en créer un personnalisé.
Pour les formats de date/heure prédéfinis, la légende fournit un exemple de date correspondant au format sélectionné. Pour cette démonstration, nous choisissons le format aaaa/MM/jj. - Ensuite, spécifiez un fuseau horaire pour les valeurs de date/heure.
Par exemple, la date actuelle peut être le 1er janvier 2022 dans un fuseau horaire, mais peut être le 2 janvier 2022 dans un autre fuseau horaire. - Enfin, vous pouvez sélectionner la plage de temps, ce qui vous permet de sélectionner la plage de fichiers que vous souhaitez inclure dans votre flux de données.
Vous pouvez spécifier votre plage horaire en heures, jours, semaines, mois ou années. Pour cet exemple, nous voulons obtenir tous les fichiers de l'année dernière. - Fournissez une description du paramètre et choisissez Création.
Si vous utilisez plusieurs jeux de données avec différents fuseaux horaires, l'heure n'est pas convertie automatiquement ; vous devez prétraiter chaque fichier ou source pour le convertir dans un fuseau horaire.Les fichiers sélectionnés sont tous les fichiers sous les dossiers correspondant aux données de l'année dernière. - Maintenant, si nous créons une tâche de transformation de données, nous pouvons voir une liste de tous nos paramètres définis et nous pouvons remplacer leurs valeurs par défaut afin que nos tâches de transformation sélectionnent les fichiers spécifiés.
Planifier les tâches de traitement
Vous pouvez désormais planifier des tâches de traitement pour automatiser l'exécution des tâches de transformation de données et l'exportation de vos données transformées vers Amazon S3 ou Magasin de fonctionnalités Amazon SageMaker. Vous pouvez programmer les travaux avec le temps et la périodicité qui conviennent à vos besoins.
Utilisation des tâches de traitement planifiées Amazon Event Bridge pour planifier l'exécution du travail. Par conséquent, comme condition préalable, vous devez vous assurer que le Gestion des identités et des accès AWS (IAM) utilisé par Data Wrangler, à savoir le Amazon Sage Maker rôle d'exécution de l'instance Studio, dispose des autorisations nécessaires pour créer des règles EventBridge.
Configurer IAM
Procédez aux mises à jour suivantes sur le rôle d'exécution IAM SageMaker correspondant à l'instance Studio sur laquelle le flux Data Wrangler s'exécute :
- Joindre le AmazonEventBridgeFullAccess politique gérée.
- Associez une stratégie pour accorder l'autorisation de créer une tâche de traitement :
- Accordez à EventBridge l'autorisation d'assumer le rôle en ajoutant la stratégie d'approbation suivante :
Sinon, si vous utilisez un rôle différent pour exécuter la tâche de traitement, appliquez les stratégies décrites aux étapes 2 et 3 à ce rôle. Pour plus d'informations sur la configuration IAM, reportez-vous à Créer une planification pour traiter automatiquement les nouvelles données.
Créer un horaire
Pour créer une planification, ouvrez votre flux dans l'éditeur de flux Data Wrangler.
- Sur le Flux de données onglet, choisissez Créer un emploi.
- Configurez les champs requis et choisissez Ensuite, 2. Configurer le travail.
- Développer vous Horaires associés.
- Selectionnez Créer un nouvel horaire.
Les Créer un nouvel horaire La boîte de dialogue s'ouvre, dans laquelle vous définissez les détails de la planification de la tâche de traitement.
La boîte de dialogue offre une grande flexibilité pour vous aider à définir la planification. Vous pouvez, par exemple, exécuter la tâche de traitement à une heure précise ou toutes les X heures, certains jours de la semaine.
La périodicité peut être granulaire au niveau des minutes. - Définissez le nom et la périodicité de la planification, puis choisissez Création pour enregistrer le programme.
- Vous avez la possibilité de démarrer immédiatement la tâche de traitement avec la planification, qui prend en charge les exécutions futures, ou de laisser la tâche s'exécuter uniquement selon la planification.
- Vous pouvez également définir une planification supplémentaire pour la même tâche de traitement.
- Pour terminer la planification de la tâche de traitement, sélectionnez Création.
Un message "Tâche planifiée avec succès" s'affiche. De plus, si vous avez choisi de laisser la tâche s'exécuter uniquement selon la planification, un lien vers la règle EventBridge que vous venez de créer s'affiche.
Si vous choisissez le lien de planification, un nouvel onglet dans le navigateur s'ouvre, affichant la règle EventBridge. Sur cette page, vous pouvez apporter d'autres modifications à la règle et suivre son historique d'appel. Pour arrêter l'exécution de votre tâche de traitement planifiée, supprimez la règle d'événement qui contient le nom de la planification.
La règle EventBridge affiche un pipeline SageMaker comme cible, qui est déclenché selon la planification définie, et la tâche de traitement invoquée dans le cadre du pipeline.
Pour suivre les exécutions du pipeline SageMaker, vous pouvez revenir à Studio, choisir le Ressources SageMaker icône, choisissez Pipelines, puis choisissez le nom du pipeline que vous souhaitez suivre. Vous pouvez maintenant voir un tableau avec toutes les exécutions actuelles et passées et l'état de ce pipeline.
Vous pouvez voir plus de détails en double-cliquant sur une entrée spécifique.
Nettoyer
Lorsque vous n'utilisez pas Data Wrangler, il est recommandé d'arrêter l'instance sur laquelle il s'exécute pour éviter des frais supplémentaires.
Pour éviter de perdre du travail, enregistrez votre flux de données avant d'arrêter Data Wrangler.
- Pour enregistrer votre flux de données dans Studio, choisissez Déposez votre dernière attestation , Puis choisissez Enregistrer le flux de Wrangler de données. Data Wrangler enregistre automatiquement votre flux de données toutes les 60 secondes.
- Pour arrêter l'instance Data Wrangler, dans Studio, choisissez Exécution d'instances et de noyaux.
- Sous APPLICATIONS EN MARCHE, choisissez l'icône d'arrêt à côté de
sagemaker-data-wrangler-1.0
app. - Selectionnez Fermez tout pour confirmer.
Data Wrangler s'exécute sur une instance ml.m5.4xlarge. Cette instance disparaît de INSTANCES D'EXÉCUTION lorsque vous fermez l'application Data Wrangler.
Après avoir fermé l'application Data Wrangler, elle doit redémarrer la prochaine fois que vous ouvrez un fichier de flux Data Wrangler. Cela peut prendre quelques minutes.
Conclusion
Dans cet article, nous avons montré comment vous pouvez utiliser des paramètres pour importer vos ensembles de données à l'aide de flux Data Wrangler et créer des tâches de transformation de données sur ceux-ci. Les ensembles de données paramétrés offrent plus de flexibilité sur les ensembles de données que vous utilisez et vous permettent de réutiliser vos flux. Nous avons également montré comment vous pouvez configurer des tâches planifiées pour automatiser vos transformations et exportations de données vers Amazon S3 ou Feature Store, à l'heure et à la périodicité qui conviennent à vos besoins, directement depuis l'interface utilisateur de Data Wrangler.
Pour en savoir plus sur l'utilisation des flux de données avec Data Wrangler, reportez-vous à Créer et utiliser un flux Data Wrangler ainsi que Tarification d'Amazon SageMaker. Pour démarrer avec Data Wrangler, voir Préparer les données de ML avec Amazon SageMaker Data Wrangler.
À propos des auteurs
David Laredo est architecte de prototypage pour l'équipe de prototypage et d'ingénierie cloud d'Amazon Web Services, où il a aidé à développer plusieurs prototypes d'apprentissage automatique pour les clients AWS. Il travaille dans l'apprentissage automatique depuis 6 ans, formant et affinant des modèles ML et mettant en œuvre des pipelines de bout en bout pour produire ces modèles. Ses domaines d'intérêt sont le NLP, les applications ML et le ML de bout en bout.
Givanildo Alves est un architecte de prototypage au sein de l'équipe de prototypage et d'ingénierie cloud d'Amazon Web Services, aidant les clients à innover et à accélérer en montrant l'art du possible sur AWS, ayant déjà mis en œuvre plusieurs prototypes autour de l'intelligence artificielle. Il a une longue carrière dans le génie logiciel et a précédemment travaillé comme ingénieur en développement logiciel chez Amazon.com.br.
Adrien Fuentes est responsable de programme au sein de l'équipe de prototypage et d'ingénierie cloud d'Amazon Web Services, innovant pour les clients dans les domaines de l'apprentissage automatique, de l'IoT et de la blockchain. Il a plus de 15 ans d'expérience dans la gestion et la mise en œuvre de projets et 1 an d'ancienneté sur AWS.
- AI
- art de l'IA
- générateur d'art ai
- robot IA
- Apprentissage automatique d'Amazon
- Gestionnaire de données Amazon SageMaker
- Nombre d'annonces
- intelligence artificielle
- certification en intelligence artificielle
- intelligence artificielle en banque
- robot d'intelligence artificielle
- robots d'intelligence artificielle
- logiciel d'intelligence artificielle
- Apprentissage automatique AWS
- blockchain
- conférence blockchain ai
- cognitif
- intelligence artificielle conversationnelle
- crypto conférence ai
- de dall
- informatique
- l'apprentissage en profondeur
- google ai
- Intermédiaire (200)
- machine learning
- Jeux de données paramétrés
- Platon
- platon ai
- Intelligence des données Platon
- Jeu de Platon
- PlatonDonnées
- jeu de platogamie
- échelle ai
- Travaux planifiés
- syntaxe
- Mode d'emploi technique
- zéphyrnet