Commencer à utiliser EMR Serverless depuis la console - Amazon EMR

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.

Commencer à utiliser EMR Serverless depuis la console

Étape 1 : Création d'une application EMR sans serveur

Créez une nouvelle application avec EMR Serverless comme suit.

  1. Connectez-vous à la EMR console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/emr.

  2. Dans le volet de navigation de gauche, choisissez EMRServerless pour accéder à la page d'accueil EMR Serverless.

  3. Pour créer ou gérer des applications EMR sans serveur, vous avez besoin de l'interface utilisateur de EMR Studio.

    • Si vous avez déjà un EMR studio dans Région AWS lequel vous souhaitez créer une application, sélectionnez Gérer les applications pour accéder à votre EMR studio, ou sélectionnez le studio que vous souhaitez utiliser.

    • Si vous ne disposez pas d'un EMR studio dans Région AWS lequel vous souhaitez créer une application, choisissez Commencer, puis Choisissez Créer et lancez Studio. EMRServerless crée un EMR studio pour vous afin que vous puissiez créer et gérer des applications.

  4. Dans l'interface utilisateur de Create studio qui s'ouvre dans un nouvel onglet, entrez le nom, le type et la version de publication de votre application. Si vous souhaitez uniquement exécuter des tâches par lots, sélectionnez Utiliser les paramètres par défaut pour les tâches par lots uniquement. Pour les charges de travail interactives, sélectionnez Utiliser les paramètres par défaut pour les charges de travail interactives. Vous pouvez également exécuter des tâches par lots sur des applications interactives grâce à cette option. Si nécessaire, vous pouvez modifier ces paramètres ultérieurement.

    Pour plus d'informations, voir Création d'un studio.

  5. Sélectionnez Créer une application pour créer votre première application.

Passez à la section suivante Étape 2 : Soumettre une exécution de tâche ou une charge de travail interactive pour soumettre une exécution de tâche ou une charge de travail interactive.

Étape 2 : Soumettre une exécution de tâche ou une charge de travail interactive

Spark job run

Dans ce didacticiel, nous utilisons un PySpark script pour calculer le nombre d'occurrences de mots uniques dans plusieurs fichiers texte. Un compartiment S3 public en lecture seule stocke à la fois le script et le jeu de données.

Pour exécuter une tâche Spark
  1. Téléchargez l'exemple de script wordcount.py dans votre nouveau compartiment à l'aide de la commande suivante.

    aws s3 cp s3://us-east-1.elasticmapreduce/emr-containers/samples/wordcount/scripts/wordcount.py s3://amzn-s3-demo-bucket/scripts/
  2. Si vous terminez, vous Étape 1 : Création d'une application EMR sans serveur accédez à la page des détails de l'application dans EMR Studio. À cet endroit, choisissez l'option Soumettre le travail.

  3. Sur la page Soumettre une tâche, effectuez les opérations suivantes.

    • Dans le champ Nom, entrez le nom que vous souhaitez appeler votre tâche exécutée.

    • Dans le champ Rôle d'exécution, entrez le nom du rôle que vous avez créé dansCréation d'un rôle d'exécution de tâches.

    • Dans le champ Emplacement du scripts3://amzn-s3-demo-bucket/scripts/wordcount.py, saisissez S3URI.

    • Dans le champ Arguments du script, entrez["s3://amzn-s3-demo-bucket/emr-serverless-spark/output"].

    • Dans la section des propriétés de Spark, choisissez Modifier sous forme de texte et entrez les configurations suivantes.

      --conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1
  4. Pour démarrer l'exécution de la tâche, choisissez Soumettre la tâche.

  5. Dans l'onglet Exécutions de tâches, vous devriez voir votre nouvelle tâche exécutée avec le statut En cours d'exécution.

Hive job run

Dans cette partie du didacticiel, nous créons une table, insérons quelques enregistrements et exécutons une requête d'agrégation de comptes. Pour exécuter la tâche Hive, créez d'abord un fichier contenant toutes les requêtes Hive à exécuter dans le cadre d'une tâche unique, téléchargez le fichier sur S3 et spécifiez ce chemin S3 au démarrage de la tâche Hive.

Pour exécuter une tâche Hive
  1. Créez un fichier appelé hive-query.ql contenant toutes les requêtes que vous souhaitez exécuter dans votre tâche Hive.

    create database if not exists emrserverless; use emrserverless; create table if not exists test_table(id int); drop table if exists Values__Tmp__Table__1; insert into test_table values (1),(2),(2),(3),(3),(3); select id, count(id) from test_table group by id order by id desc;
  2. hive-query.qlTéléchargez-le dans votre compartiment S3 à l'aide de la commande suivante.

    aws s3 cp hive-query.ql s3://amzn-s3-demo-bucket/emr-serverless-hive/query/hive-query.ql
  3. Si vous terminez, vous Étape 1 : Création d'une application EMR sans serveur accédez à la page des détails de l'application dans EMR Studio. À cet endroit, choisissez l'option Soumettre le travail.

  4. Sur la page Soumettre une tâche, effectuez les opérations suivantes.

    • Dans le champ Nom, entrez le nom que vous souhaitez appeler votre tâche exécutée.

    • Dans le champ Rôle d'exécution, entrez le nom du rôle que vous avez créé dansCréation d'un rôle d'exécution de tâches.

    • Dans le champ Emplacement du scripts3://amzn-s3-demo-bucket/emr-serverless-hive/query/hive-query.ql, saisissez S3URI.

    • Dans la section Propriétés de la ruche, choisissez Modifier sous forme de texte et entrez les configurations suivantes.

      --hiveconf hive.log.explain.output=false
    • Dans la section Configuration du Job, choisissez Modifier sous JSON, puis entrez ce qui suitJSON.

      { "applicationConfiguration": [{ "classification": "hive-site", "properties": { "hive.exec.scratchdir": "s3://amzn-s3-demo-bucket/emr-serverless-hive/hive/scratch", "hive.metastore.warehouse.dir": "s3://amzn-s3-demo-bucket/emr-serverless-hive/hive/warehouse", "hive.driver.cores": "2", "hive.driver.memory": "4g", "hive.tez.container.size": "4096", "hive.tez.cpu.vcores": "1" } }] }
  5. Pour démarrer l'exécution de la tâche, choisissez Soumettre la tâche.

  6. Dans l'onglet Exécutions de tâches, vous devriez voir votre nouvelle tâche exécutée avec le statut En cours d'exécution.

Interactive workload

Avec Amazon EMR 6.14.0 et versions ultérieures, vous pouvez utiliser des blocs-notes hébergés dans EMR Studio pour exécuter des charges de travail interactives pour Spark en mode Serverless. EMR Pour plus d'informations, notamment sur les autorisations et les conditions requises, consultezExécutez des charges de travail interactives avec EMR Serverless via Studio EMR.

Une fois que vous avez créé votre application et configuré les autorisations requises, procédez comme suit pour exécuter un bloc-notes interactif avec EMR Studio :

  1. Accédez à l'onglet Espaces de travail dans EMR Studio. Si vous devez toujours configurer un emplacement de stockage Amazon S3 et un rôle de service EMR Studio, sélectionnez le bouton Configurer le studio dans la bannière en haut de l'écran.

  2. Pour accéder à un bloc-notes, sélectionnez un espace de travail ou créez-en un nouveau. Utilisez le lancement rapide pour ouvrir votre espace de travail dans un nouvel onglet.

  3. Accédez à l'onglet qui vient d'être ouvert. Sélectionnez l'icône Calculer dans le menu de navigation de gauche. Sélectionnez EMR Serverless comme type de calcul.

  4. Sélectionnez l'application interactive que vous avez créée dans la section précédente.

  5. Dans le champ Rôle d'exécution, entrez le nom du IAM rôle que votre application EMR Serverless peut assumer pour l'exécution de la tâche. Pour en savoir plus sur les rôles d'exécution, consultez la section Rôles d'exécution Job dans le guide de l'utilisateur Amazon EMR Serverless.

  6. Sélectionnez Joindre. Cela peut prendre jusqu'à une minute. La page sera actualisée une fois jointe.

  7. Choisissez un noyau et lancez un bloc-notes. Vous pouvez également consulter des exemples de blocs-notes sur EMR Serverless et les copier dans votre espace de travail. Pour accéder aux exemples de blocs-notes, accédez au {...}menu de navigation de gauche et parcourez les blocs-notes dont le nom de fichier est indiqué serverless dans le bloc-notes.

  8. Dans le bloc-notes, vous pouvez accéder au lien du journal du pilote et à un lien vers l'interface utilisateur d'Apache Spark, une interface en temps réel qui fournit des indicateurs pour surveiller votre travail. Pour plus d'informations, consultez la section Surveillance des applications et des tâches EMR sans serveur dans le guide de l'utilisateur Amazon EMR Serverless.

Lorsque vous associez une application à un espace de travail Studio, le démarrage de l'application se déclenche automatiquement si elle n'est pas déjà en cours d'exécution. Vous pouvez également prédémarrer l'application et la garder prête avant de l'associer à l'espace de travail.

Étape 3 : Afficher l'interface utilisateur et les journaux de l'application

Pour afficher l'interface utilisateur de l'application, identifiez d'abord le travail exécuté. Une option pour l'interface utilisateur Spark ou Hive Tez est disponible dans la première ligne d'options pour cette tâche exécutée, en fonction du type de tâche. Sélectionnez l'option appropriée.

Si vous avez choisi l'interface utilisateur Spark, cliquez sur l'onglet Executors pour afficher les journaux des pilotes et des exécuteurs. Si vous avez choisi l'interface utilisateur Hive Tez, cliquez sur l'onglet Toutes les tâches pour afficher les journaux.

Une fois que le statut d'exécution de la tâche indique Success, vous pouvez consulter le résultat de la tâche dans votre compartiment S3.

Étape 4 : Nettoyer

Bien que l'application que vous avez créée doive s'arrêter automatiquement après 15 minutes d'inactivité, nous vous recommandons tout de même de libérer des ressources que vous n'avez pas l'intention de réutiliser.

Pour supprimer l'application, accédez à la page Répertorier les applications. Sélectionnez l'application que vous avez créée et choisissez Actions → Arrêter pour arrêter l'application. Une fois que l'application est dans STOPPED cet état, sélectionnez-la et choisissez Actions → Supprimer.

Pour d'autres exemples d'exécution de tâches Spark et Hive, reportez-vous aux sections Offres d'emploi Spark etEmplois Hive.