Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Préparer les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler

La préparation des données est un composant principal des pipelines d'apprentissage automatique (ML). En fait, on estime que les professionnels des données consacrent environ 80 % de leur temps à la préparation des données. Dans ce marché concurrentiel intensif, les équipes souhaitent analyser les données et extraire rapidement des informations plus significatives. Les clients adoptent des moyens plus efficaces et visuels pour créer des systèmes de traitement de données.

Gestionnaire de données Amazon SageMaker simplifie le processus de préparation des données et d'ingénierie des fonctionnalités, réduisant le temps qu'il faut de plusieurs semaines à quelques minutes en fournissant une interface visuelle unique aux scientifiques des données pour sélectionner, nettoyer les données, créer des fonctionnalités et automatiser la préparation des données dans les flux de travail ML sans écrire de code. 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, et Flocon de neige. Vous pouvez désormais également utiliser Amazon DME en tant que source de données dans Data Wrangler pour préparer facilement les données pour le ML.

L'analyse, la transformation et la préparation de grandes quantités de données constituent une étape fondamentale de tout workflow de science des données et de ML. Les professionnels des données tels que les scientifiques des données veulent tirer parti de la puissance de Apache Spark, Rucheet une Presto fonctionnant sur Amazon EMR pour une préparation rapide des données, mais la courbe d'apprentissage est abrupte. Nos clients souhaitaient pouvoir se connecter à Amazon EMR pour exécuter des requêtes SQL ad hoc sur Hive ou Presto afin d'interroger des données dans le métastore interne ou externe (par exemple, AWS Glue Data Catalog) et de préparer les données en quelques clics.

Cet article de blog explique comment les clients peuvent désormais trouver et se connecter aux clusters Amazon EMR existants à l'aide d'une expérience visuelle dans SageMaker Data Wrangler. Ils peuvent inspecter visuellement la base de données, les tables, le schéma et les requêtes Presto pour se préparer à la modélisation ou à la création de rapports. Ils peuvent ensuite rapidement profiler les données à l'aide d'une interface visuelle pour évaluer la qualité des données, identifier les anomalies ou les données manquantes ou erronées, et recevoir des informations et des recommandations sur la manière de résoudre ces problèmes. De plus, ils peuvent analyser, nettoyer et concevoir des fonctionnalités à l'aide de plus d'une douzaine d'analyses intégrées supplémentaires et de plus de 300 transformations intégrées supplémentaires soutenues par Spark sans écrire une seule ligne de code.

Vue d'ensemble de la solution 

Les professionnels des données peuvent trouver et se connecter rapidement aux clusters EMR existants à l'aide des configurations SageMaker Studio. De plus, les professionnels des données peuvent mettre fin aux clusters EMR en quelques clics seulement depuis SageMaker Studio utilisant des modèles prédéfinis et la création à la demande de clusters EMR. Avec l'aide de ces outils, les clients peuvent accéder directement au bloc-notes universel SageMaker Studio et écrire du code dans Apache Spark, Hive, Presto ou PySpark pour effectuer la préparation des données à grande échelle. En raison d'une courbe d'apprentissage abrupte pour la création de code Spark pour préparer les données, tous les professionnels des données ne sont pas à l'aise avec cette procédure. Avec Amazon EMR comme source de données pour Amazon SageMaker Data Wrangler, vous pouvez désormais vous connecter rapidement et facilement à Amazon EMR sans écrire une seule ligne de code.

Le diagramme suivant représente les différents composants utilisés dans cette solution.

Nous démontrons deux options d'authentification qui peuvent être utilisées pour établir une connexion au cluster EMR. Pour chaque option, nous déployons une pile unique de AWS CloudFormation modèles.

Le modèle CloudFormation effectue les actions suivantes lorsque chaque option est sélectionnée :

  • Crée un domaine Studio en mode VPC uniquement, ainsi qu'un profil utilisateur nommé studio-user.
  • Crée des blocs de construction, y compris le VPC, les points de terminaison, les sous-réseaux, les groupes de sécurité, le cluster EMR et d'autres ressources requises pour exécuter les exemples avec succès.
  • Pour le cluster EMR, connecte le catalogue de données AWS Glue en tant que metastore pour EMR Hive et Presto, crée une table Hive dans EMR et la remplit avec des données provenant d'un ensemble de données d'aéroport américain.
  • Pour le modèle LDAP CloudFormation, crée un Cloud Amazon Elastic Compute (Amazon EC2) instance pour héberger le serveur LDAP afin d'authentifier l'utilisateur Hive et Presto LDAP.

Option 1 : protocole d'annuaire d'accès léger

Pour le modèle d'authentification LDAP CloudFormation, nous provisionnons une instance Amazon EC2 avec un serveur LDAP et configurons le cluster EMR pour utiliser ce serveur pour l'authentification. C'est TLS activé.

Option 2 : Aucune autorisation

Dans le modèle CloudFormation d'authentification sans authentification, nous utilisons un cluster EMR standard sans authentification activée.

Déployer les ressources avec AWS CloudFormation

Effectuez les étapes suivantes pour déployer l'environnement:

  1. Connectez-vous à la Console de gestion AWS en tant que Gestion des identités et des accès AWS (IAM) utilisateur, de préférence un utilisateur administrateur.
  2. Selectionnez Lancer la pile pour lancer le modèle CloudFormation pour le scénario d'authentification approprié. Assurez-vous que la région utilisée pour déployer la pile CloudFormation n'a pas de domaine Studio existant. Si vous avez déjà un domaine Studio dans une région, vous pouvez choisir une autre région.
    • Pile de lancement LDAP
      Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
    • Aucune pile de lancement d'authentification
      Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  3. Selectionnez Suivant.
  4. Pour Nom de la pile, entrez un nom pour la pile (par exemple, dw-emr-blog).
  5. Laissez les autres valeurs par défaut.
  6. Pour continuer, choisissez Suivant à partir de la page des détails de la pile et des options de la pile. La pile LDAP utilise les identifiants suivants :
    • nom d'utilisateur: david
    • mot de passe:  welcome123
  7. Sur la page de révision, cochez la case pour confirmer qu'AWS CloudFormation peut créer des ressources.
  8. Selectionnez Créer une pile. Attendez que l'état de la pile passe de CREATE_IN_PROGRESS à CREATE_COMPLETE. Le processus prend généralement 10 à 15 minutes.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Remarque : Si vous souhaitez essayer plusieurs piles, veuillez suivre les étapes de la section Nettoyer. Rappelez-vous que vous devez supprimer le domaine SageMaker Studio avant que la pile suivante puisse être lancée avec succès.

Configurer Amazon EMR en tant que source de données dans Data Wrangler

Dans cette section, nous abordons la connexion au cluster Amazon EMR existant créé via le modèle CloudFormation en tant que source de données dans Data Wrangler.

Créer un nouveau flux de données

Pour créer votre flux de données, procédez comme suit :

  1. Sur la console SageMaker, choisissez Amazon SageMakerStudio dans le volet de navigation.
  2. Selectionnez Atelier ouvert.
  3. Dans le lanceur, choisissez Nouveau flux de données. Alternativement, sur le Déposez votre dernière attestation menu déroulant, choisissez Nouveau, puis choisissez Flux Data Wrangler.
  4. La création d'un nouveau flux peut prendre quelques minutes. Une fois le flux créé, vous voyez le Importer des dates .

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Ajouter Amazon EMR en tant que source de données dans Data Wrangler

Dans le menu Ajouter une source de données, choisissez Amazon DME.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez parcourir tous les clusters EMR que votre rôle d'exécution Studio est autorisé à voir. Vous avez deux options pour vous connecter à un cluster ; l'une est via l'interface utilisateur interactive, et l'autre consiste à d'abord créer un secret à l'aide d'AWS Secrets Manager avec l'URL JDBC, y compris les informations de cluster EMR, puis fournissez l'ARN secret AWS stocké dans l'interface utilisateur pour vous connecter à Presto. Dans ce blog, nous suivons la première option. Sélectionnez l'un des clusters suivants que vous souhaitez utiliser. Cliquer sur Suivant, et sélectionnez critères.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Sélectionnez Presto, se connecter à Amazon DME, créez un nom pour identifier votre connexion, puis cliquez sur Suivant.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Sélectionnez Authentification saisissez LDAP ou Aucune authentification, puis cliquez sur NOUS CONTACTER.

  • Pour le protocole LDAP (Lightweight Directory Access Protocol), indiquez le nom d'utilisateur et le mot de passe à authentifier.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

  • Pour aucune authentification, vous serez connecté à EMR Presto sans fournir d'informations d'identification d'utilisateur dans VPC. Accédez à la page de l'explorateur SQL de Data Wrangler pour EMR.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Une fois connecté, vous pouvez afficher de manière interactive une arborescence de base de données et un aperçu ou un schéma de table. Vous pouvez également interroger, explorer et visualiser les données d'EMR. Pour l'aperçu, vous verriez une limite de 100 enregistrements par défaut. Pour une requête personnalisée, vous pouvez fournir des instructions SQL dans la zone de l'éditeur de requête et une fois que vous cliquez sur le Courir bouton, la requête sera exécutée sur le moteur Presto d'EMR.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

La Annuler la requête permet d'annuler les requêtes en cours si elles prennent un temps anormalement long.

La dernière étape consiste à importer. Une fois que vous êtes prêt avec les données interrogées, vous avez la possibilité de mettre à jour les paramètres d'échantillonnage pour la sélection de données en fonction du type d'échantillonnage (FirstK, Random ou Stratified) et de la taille d'échantillonnage pour importer des données dans Data Wrangler.

Cliquez L’. La page de préparation sera chargée, vous permettant d'ajouter diverses transformations et analyses essentielles à l'ensemble de données.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Accédez à DataFlow à partir de l'écran supérieur et ajoutez d'autres étapes au flux selon les besoins pour les transformations et l'analyse. Vous pouvez exécuter un rapport d'analyse des données pour identifier les problèmes de qualité des données et obtenir des recommandations pour résoudre ces problèmes. Regardons quelques exemples de transformations.

Accédez à votre flux de données, et c'est l'écran que vous devriez voir. Cela nous montre que nous utilisons EMR comme source de données à l'aide du connecteur Presto.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Cliquons sur le bouton + à droite de Types de données et sélectionnons Ajouter une transformation. Lorsque vous faites cela, l'écran suivant devrait apparaître :

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Explorons les données. Nous voyons qu'il a de multiples fonctionnalités telles que code_iata, aéroport, ville, Etat, Pays, latitudeet une longitude. Nous pouvons voir que l'ensemble de données est basé dans un seul pays, à savoir les États-Unis, et qu'il manque des valeurs dans Latitude et Longitude. Les données manquantes peuvent entraîner un biais dans l'estimation des paramètres et réduire la représentativité des échantillons. Nous devons donc effectuer certaines imputation et gérer les valeurs manquantes dans notre ensemble de données.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Cliquons sur le Ajouter une étape sur la barre de navigation à droite. Sélectionner Poignée manquante. Les configurations peuvent être vues dans les captures d'écran suivantes. En dessous de Transformer, Sélectionner Imputer. Sélectionnez le type de colonne comme Numérique et les noms de colonnes latitude ainsi que Longitude. Nous imputerons les valeurs manquantes en utilisant une valeur médiane approximative. Prévisualisez et ajoutez la transformation.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Regardons maintenant un autre exemple de transformation. Lors de la création d'un modèle d'apprentissage automatique, les colonnes sont supprimées si elles sont redondantes ou n'aident pas votre modèle. La façon la plus courante de supprimer une colonne consiste à la supprimer. Dans notre jeu de données, la caractéristique Pays peut être supprimé car l'ensemble de données est spécifiquement destiné aux données des aéroports américains. Voyons comment gérer les colonnes. Cliquons sur le Ajouter une étape sur la barre de navigation à droite. Sélectionner Gérer les colonnes. Les configurations peuvent être vues dans les captures d'écran suivantes. En dessous de Transformer, sélectionnez Déposer la colonne, et sous Colonnes à supprimer, sélectionnez Pays.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez continuer à ajouter des étapes en fonction des différentes transformations requises pour votre ensemble de données. Revenons à notre flux de données. Vous verrez maintenant deux autres blocs montrant les transformations que nous avons effectuées. Dans notre scénario, vous pouvez voir Imputer ainsi que Déposer la colonne.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Les praticiens du ML passent beaucoup de temps à créer du code d'ingénierie de caractéristiques, à l'appliquer à leurs ensembles de données initiaux, à former des modèles sur les ensembles de données d'ingénierie et à évaluer la précision du modèle. Compte tenu de la nature expérimentale de ce travail, même le plus petit projet conduira à de multiples itérations. Le même code d'ingénierie de fonctionnalités est souvent exécuté encore et encore, ce qui fait perdre du temps et des ressources de calcul à la répétition des mêmes opérations. Dans les grandes organisations, cela peut entraîner une perte de productivité encore plus importante car différentes équipes exécutent souvent des tâches identiques ou écrivent même du code d'ingénierie de fonctionnalités en double car elles n'ont aucune connaissance des travaux antérieurs. Pour éviter le retraitement des entités, nous allons maintenant exporter nos entités transformées vers Magasin de fonctionnalités Amazon. Cliquons sur le + bouton à droite de Déposer la colonne. Sélectionner Exporter vers et choisissez Magasin de fonctionnalités Sagemaker (via le bloc-notes Jupyter).

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez facilement exporter vos fonctionnalités générées vers Magasin de fonctionnalités SageMaker en le sélectionnant comme destination. Vous pouvez enregistrer les fonctionnalités dans un groupe de fonctionnalités existant ou en créer un nouveau.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Nous avons maintenant créé des fonctionnalités avec Data Wrangler et stocké facilement ces fonctionnalités dans Feature Store. Nous avons montré un exemple de flux de travail pour l'ingénierie des fonctionnalités dans l'interface utilisateur de Data Wrangler. Ensuite, nous avons enregistré ces fonctionnalités dans le Feature Store directement à partir de Data Wrangler en créant un nouveau groupe de fonctionnalités. Enfin, nous avons exécuté une tâche de traitement pour ingérer ces fonctionnalités dans Feature Store. Data Wrangler et Feature Store nous ont aidés à créer des processus automatiques et reproductibles pour rationaliser nos tâches de préparation des données avec un minimum de codage requis. Data Wrangler nous offre également la flexibilité d'automatiser le même flux de préparation des données à l'aide de tâches planifiées. Nous pouvons également automatiser la formation ou l'ingénierie des fonctionnalités avec SageMaker Pipelines (via Jupyter Notebook) et déployer sur le point de terminaison Inference avec le pipeline d'inférence SageMaker (via Jupyter Notebook).

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Nettoyer

Si votre travail avec Data Wrangler est terminé, sélectionnez la pile créée à partir de la page CloudFormation et supprimez-la pour éviter des frais supplémentaires.

Conclusion

Dans cet article, nous avons expliqué comment configurer Amazon EMR en tant que source de données dans Data Wrangler, comment transformer et analyser un ensemble de données et comment exporter les résultats vers un flux de données à utiliser dans un bloc-notes Jupyter. Après avoir visualisé notre ensemble de données à l'aide des fonctionnalités analytiques intégrées de Data Wrangler, nous avons encore amélioré notre flux de données. Le fait que nous ayons créé un pipeline de préparation de données sans écrire une seule ligne de code est significatif.

Pour démarrer avec Data Wrangler, consultez Préparer les données de ML avec Amazon SageMaker Data Wrangler, et consultez les dernières informations sur Page produit Data Wrangler.


À propos des auteurs

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Ajjay Govindaram est architecte de solutions senior chez AWS. Il travaille avec des clients stratégiques qui utilisent l'IA/ML pour résoudre des problèmes commerciaux complexes. Son expérience consiste à fournir une direction technique ainsi qu'une assistance à la conception pour les déploiements d'applications AI/ML à petite et grande échelle. Ses connaissances vont de l'architecture d'application au big data, à l'analyse et à l'apprentissage automatique. Il aime écouter de la musique tout en se reposant, profiter du plein air et passer du temps avec ses proches.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Isha Doua est un architecte de solutions senior basé dans la région de la baie de San Francisco. Elle aide les entreprises clientes d'AWS à se développer en comprenant leurs objectifs et leurs défis, et les guide sur la manière dont elles peuvent concevoir leurs applications de manière native dans le cloud tout en s'assurant qu'elles sont résilientes et évolutives. Elle est passionnée par les technologies d'apprentissage automatique et la durabilité environnementale.

Préparez les données d'Amazon EMR pour l'apprentissage automatique à l'aide d'Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Rui Jiang est ingénieur en développement logiciel chez AWS basé dans la région de New York. Elle est membre de l'équipe SageMaker Data Wrangler qui aide à développer des solutions d'ingénierie pour les entreprises clientes d'AWS afin de répondre à leurs besoins commerciaux. En dehors du travail, elle aime explorer de nouveaux aliments, la forme physique, les activités de plein air et les voyages.

Horodatage:

Plus de Apprentissage automatique AWS