Activation de l'interface utilisateur web Apache Spark pour les tâches AWS Glue - AWS Glue

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.

Activation de l'interface utilisateur web Apache Spark pour les tâches AWS Glue

Vous pouvez utiliser l'interface utilisateur web Apache Spark pour surveiller et déboguer les tâches ETL AWS Glue en cours d'exécution sur le système de tâches AWS Glue. Vous pouvez configurer l'interface utilisateur Spark à l'aide de la console AWS Glue ou de l' AWS Command Line Interface (AWS CLI).

Toutes les 30 secondes, AWS Glue sauvegarde les journaux d’événements Spark à l’emplacement correspondant au chemin Amazon S3 que vous spécifiez.

Configuration de l'interface utilisateur Spark (console)

Suivez ces étapes pour configurer l’interface utilisateur Spark à l’aide de la AWS Management Console. Lors de la création d'une AWS Glue tâche, l'interface utilisateur Spark est activée par défaut.

Pour activer l’interface utilisateur Spark lorsque vous créez ou modifiez une tâche
  1. Connectez-vous à la AWS Glue console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/glue/.

  2. Dans le volet de navigation, sélectionnez Tâches.

  3. Choisissez Ajouter une tâche ou sélectionnez-en une existante.

  4. Dans Détails de la tâche, ouvrez les Propriétés avancées.

  5. Sous l’onglet Interface utilisateur Spark, choisissez Écrire des journaux de l’interface utilisateur Spark sur Amazon S3.

  6. Spécifiez un chemin Amazon S3 pour stocker les journaux d'événements Spark pour la tâche. Notez que si vous utilisez une configuration de sécurité dans la tâche, le chiffrement s’applique également au fichier journal de l’interface utilisateur Spark. Pour plus d’informations, consultez Chiffrement de données écrites par AWS Glue.

  7. Dans la Configuration de journalisation et de surveillance de l'interface utilisateur Spark :

    • Sélectionnez Standard si vous générez des journaux à afficher dans la AWS Glue console.

    • Sélectionnez Hérité si vous générez des journaux à afficher sur un serveur d’historique Spark.

    • Vous pouvez également choisir de générer les deux.

Configuration de l'interface utilisateur Spark (AWS CLI)

Pour générer des journaux à consulter avec l'interface utilisateur de Spark, dans la AWS Glue console, utilisez le AWS CLI pour transmettre les paramètres de tâche suivants aux AWS Glue tâches. Pour plus d’informations, consultez Utilisation des paramètres des tâches dans les tâches AWS Glue.

'--enable-spark-ui': 'true', '--spark-event-logs-path': 's3://s3-event-log-path'

Pour distribuer les journaux dans leurs anciens emplacements, définissez le paramètre --enable-spark-ui-legacy-path sur "true". Si vous ne souhaitez pas générer de journaux dans les deux formats, supprimez le paramètre --enable-spark-ui.

Configuration de l'interface utilisateur Spark pour des sessions utilisant des blocs-notes

Avertissement

AWS Glue les sessions interactives ne prennent actuellement pas en charge l'interface utilisateur Spark dans la console. Configurez un serveur d’historique Spark.

Si vous utilisez des AWS Glue blocs-notes, configurez la configuration de SparkUI avant de démarrer la session. Pour ce faire, utilisez le magic cellulaire de %%configure :

%%configure { “--enable-spark-ui”: “true”, “--spark-event-logs-path”: “s3://path” }

Activer les journaux roulants

L'activation de SparkUI et des fichiers d'événements du journal continu pour les AWS Glue tâches présentent plusieurs avantages :

  • Fichiers journaux d'événements continus : lorsque les fichiers journaux d'événements sont activés, des fichiers journaux distincts sont AWS Glue générés pour chaque étape de l'exécution de la tâche, ce qui facilite l'identification et le dépannage des problèmes spécifiques à une étape ou à une transformation en particulier.

  • Meilleure gestion des journaux : le roulement des fichiers d'événements permet de gérer les fichiers journaux de manière plus efficace. Au lieu d'avoir un seul fichier journal potentiellement volumineux, les journaux sont divisés en fichiers plus petits et plus faciles à gérer en fonction des étapes d'exécution des tâches. Cela peut simplifier l'archivage, l'analyse et le dépannage des journaux.

  • Tolérance aux pannes améliorée — Si une AWS Glue tâche échoue ou est interrompue, les fichiers d'événements du journal continu peuvent fournir des informations précieuses sur la dernière étape réussie, ce qui permet de reprendre plus facilement la tâche à partir de ce point plutôt que de repartir de zéro.

  • Optimisation des coûts — En activant les fichiers journaux d'événements continus, vous pouvez économiser sur les coûts de stockage associés aux fichiers journaux. Au lieu de stocker un seul fichier journal potentiellement volumineux, vous stockez des fichiers journaux plus petits et plus faciles à gérer, ce qui peut être plus rentable, en particulier pour les tâches complexes ou de longue durée.

Dans un nouvel environnement, les utilisateurs peuvent activer explicitement les journaux progressifs via :

'—conf': 'spark.eventLog.rolling.enabled=true'

or

'—conf': 'spark.eventLog.rolling.enabled=true —conf spark.eventLog.rolling.maxFileSize=128m'

Lorsque les journaux déroulants sont activés, spark.eventLog.rolling.maxFileSize spécifie la taille maximale du fichier journal des événements avant qu'il ne soit transféré. La valeur par défaut de ce paramètre facultatif, s'il n'est pas spécifié, est de 128 Mo. Le minimum est de 10 Mo.

La somme maximale de tous les fichiers d'événements enregistrés générés est de 2 Go. Pour les AWS Glue tâches sans support de journalisation continue, la taille maximale du fichier journal des événements pris en charge par SparkUI est de 0,5 Go.

Vous pouvez désactiver les journaux propagés pour une tâche de streaming en fournissant une configuration supplémentaire. Notez que la maintenance de fichiers journaux très volumineux peut coûter cher.

Pour désactiver les journaux propagés, fournissez la configuration suivante :

'--spark-ui-event-logs-path': 'true', '--conf': 'spark.eventLog.rolling.enabled=false'