Gérer les exécutions de tâches à l'aide du AWS CLI - 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.

Gérer les exécutions de tâches à l'aide du AWS CLI

Cette rubrique explique comment gérer les exécutions de tâches avec le AWS Command Line Interface (AWS CLI). Il décrit en détail les propriétés, telles que les paramètres de sécurité, le pilote et les divers paramètres de remplacement. Il inclut également des sous-rubriques qui couvrent les différentes manières de configurer la journalisation.

Options de configuration d'une exécution de tâche

Utilisez les options suivantes pour configurer les paramètres d'exécution des tâches :

  • --execution-role-arn: vous devez fournir un IAM rôle utilisé pour exécuter des tâches. Pour de plus amples informations, veuillez consulter Utilisation des rôles d'exécution de tâches avec Amazon EMR on EKS.

  • --release-label: Vous pouvez déployer Amazon EMR sur Amazon EKS avec les EMR versions 5.32.0 et 6.2.0 et ultérieures d'Amazon. Amazon EMR on n'EKSest pas pris en charge dans les EMR versions précédentes d'Amazon. Pour de plus amples informations, veuillez consulter Amazon à EMR propos des EKS versions.

  • --job-driver : le pilote de tâche est utilisé pour fournir des informations sur la tâche principale. Il s'agit d'un champ de type union dans lequel vous ne pouvez transmettre qu'une seule des valeurs correspondant au type de tâche que vous souhaitez exécuter. Les types de tâches prises en charge incluent :

    • Tâches de soumission Spark : utilisées pour exécuter une commande via la soumission Spark. Vous pouvez utiliser ce type de tâche pour exécuter Scala, SparkR PySpark, SQL Spark et toute autre tâche prise en charge via Spark Submit. Ce type de tâche a les paramètres suivants :

      • Point d'entrée : il s'agit de la référence HCFS (système de fichiers compatible Hadoop) au fichier jar/py principal que vous souhaitez exécuter.

      • EntryPointArguments - Il s'agit d'un tableau d'arguments que vous souhaitez transmettre à votre fichier jar/py principal. Vous devez gérer la lecture de ces paramètres à l'aide de votre code entrypoint. Chaque argument du tableau doit être séparé par une virgule. EntryPointArguments ne peut pas contenir de crochets ou de parenthèses, tels que (), {} ou [].

      • SparkSubmitParameters - Il s'agit des paramètres Spark supplémentaires que vous souhaitez envoyer à la tâche. Utilisez ce paramètre pour remplacer les propriétés Spark par défaut, telles que la mémoire du pilote ou le nombre d'exécuteurs tels que —conf ou —class. Pour plus d'informations, consultez la rubrique Lancement d'applications à l'aide de spark-submit.

    • SQLJobs Spark : utilisés pour exécuter un fichier de SQL requête via SparkSQL. Vous pouvez utiliser ce type de tâche pour exécuter des SQL tâches Spark. Ce type de tâche a les paramètres suivants :

      • Point d'entrée : il s'agit de la référence HCFS (système de fichiers compatible Hadoop) au fichier de SQL requête que vous souhaitez exécuter.

        Pour obtenir la liste des paramètres Spark supplémentaires que vous pouvez utiliser pour une SQL tâche Spark, consultezExécution de SQL scripts Spark via StartJobRun API.

  • --configuration-overrides : vous pouvez remplacer les configurations par défaut des applications en fournissant un objet de configuration. Vous pouvez utiliser une syntaxe abrégée pour fournir la configuration ou vous pouvez référencer l'objet de configuration dans un JSON fichier. Les objets de configuration sont composés d'une classification, de propriétés et de configurations imbriquées en option. Les propriétés sont les paramètres que vous souhaitez remplacer dans ce fichier. Vous pouvez définir plusieurs classifications pour plusieurs applications dans un seul JSON objet. Les classifications de configuration disponibles varient selon la EMR version d'Amazon. Pour obtenir la liste des classifications de configuration disponibles pour chaque version d'AmazonEMR, consultezAmazon à EMR propos des EKS versions.

    Si vous transmettez la même configuration dans un remplacement d'application et dans les paramètres de soumission Spark, les paramètres de soumission  Spark auront la priorité. La liste complète des priorités de configuration suit, de la priorité la plus élevée à la plus faible.

    • Configuration fournie lors de la création de SparkSession.

    • Configuration fournie dans le cadre de sparkSubmitParameters en utilisant —conf.

    • Configuration fournie dans le cadre des remplacements d'applications.

    • Configurations optimisées choisies par Amazon EMR pour la sortie.

    • Configurations open-source par défaut pour l'application.

    Pour surveiller les exécutions de tâches à l'aide d'Amazon CloudWatch ou d'Amazon S3, vous devez fournir les détails de configuration pour CloudWatch. Pour plus d’informations, consultez Configuration d'une exécution de tâche pour utiliser les journaux Amazon S3 et Configurer une tâche exécutée pour utiliser Amazon CloudWatch Logs. Si le compartiment ou le groupe de CloudWatch journaux S3 n'existe pas, Amazon le EMR crée avant de télécharger les journaux dans le compartiment.

  • Pour une liste supplémentaire d'options de configuration Kubernetes, consultez la rubrique Propriétés Spark sur Kubernetes.

    Les configurations Spark suivantes ne sont pas prises en charge.

    • spark.kubernetes.authenticate.driver.serviceAccountName

    • spark.kubernetes.authenticate.executor.serviceAccountName

    • spark.kubernetes.namespace

    • spark.kubernetes.driver.pod.name

    • spark.kubernetes.container.image.pullPolicy

    • spark.kubernetes.container.image

      Note

      Vous pouvez utiliser spark.kubernetes.container.image pour personnaliser les images Docker. Pour de plus amples informations, veuillez consulter Personnalisation des images Docker pour Amazon sur EMR EKS.

Liste des exécutions de tâches

Vous pouvez exécuter list-job-run pour afficher l'état des exécutions de tâches, comme le montre l'exemple ci-dessous.

aws emr-containers list-job-runs --virtual-cluster-id <cluster-id>

Description d'une exécution de tâche

Vous pouvez exécuter describe-job-run pour obtenir plus de détails sur la tâche, tels que l'état de la tâche, les détails de l'état et le nom de la tâche, comme le montre l'exemple ci-dessous.

aws emr-containers describe-job-run --virtual-cluster-id cluster-id --id job-run-id

Annulation d'une exécution de tâche

Vous pouvez exécuter cancel-job-run pour annuler des tâches en cours d'exécution, comme le montre l'exemple ci-dessous.

aws emr-containers cancel-job-run --virtual-cluster-id cluster-id --id job-run-id