View a markdown version of this page

Tâches et sessions de débogage - 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.

Tâches et sessions de débogage

Note

Grâce à cette fonctionnalité, accédez aux journaux stdout et stderr pour les responsables du profil du système qui peuvent contenir des informations sensibles et non filtrées. L'autorisation suivante ne doit être utilisée que pour accéder à des données non liées à la production. Pour les applications créées pour être utilisées avec des tâches de production, nous vous conseillons vivement d'attribuer ces autorisations uniquement aux administrateurs ou aux utilisateurs disposant d'un accès élevé aux données.

Amazon EMR Serverless fournit une fonctionnalité d'auto-débogage qui vous permet d'accéder aux journaux stdout et stderr des utilisateurs de profils système pour une charge de travail Lake. Formation-enabled Pour l'utiliser, définissez le SystemProfileLogs paramètre d'accès sur true dans l'API du tableau de bord pour votre type de charge de travail :

  • Pour un Formation-enabled traitement par lots Lake (EMR-7.3.0 et versions ultérieures), utilisez l'GetDashboardForJobRunAPI.

  • Pour une session Lake Formation-enabled Spark Connect (emr-7.14.0ou emr-spark-8.1.0 version ultérieure), utilisez l'GetResourceDashboardAPI avec ResourceType défini sur SESSION.

aws emr-serverless get-dashboard-for-job-run \ --application-id application-id --job-run-id job-run-id --access-system-profile-logs
aws emr-serverless get-resource-dashboard \ --application-id application-id \ --resource-id session-id \ --resource-type SESSION \ --access-system-profile-logs

Autorisations requises

Le principal qui souhaite procéder à l'auto-débogage doit disposer des autorisations supplémentaires suivantes. Les // commentaires indiquent l'action et l'ARN des ressources qui s'appliquent à un traitement par lots par rapport à une session Spark Connect. Conservez les entrées correspondant à votre type de charge de travail et supprimez les commentaires avant d'utiliser la politique, car le JSON ne prend pas en charge les commentaires.

{ "Sid": "AccessSystemProfileLogs", "Effect": "Allow", "Action": [ "emr-serverless:GetDashboardForJobRun", // batch job "emr-serverless:GetResourceDashboard", // Spark Connect session "emr-serverless:AccessSystemProfileLogs", "glue:GetDatabases", "glue:SearchTables" ], "Resource": [ "arn:aws:emr-serverless:region:account-id:/applications/applicationId/jobruns/jobid", // batch job "arn:aws:emr-serverless:region:account-id:/applications/applicationId/sessions/sessionId", // Spark Connect session "arn:aws:glue:region:account-id:catalog", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:table/*/*" ] }

Considérations

Les journaux de profil système destinés au débogage sont visibles pour les tâches et les sessions qui accèdent aux bases de données ou aux tables de Lake Formation avec le même compte que la tâche ou la session. Ils ne sont pas visibles dans les scénarios suivants :

  • Si le catalogue de données géré à l'aide des autorisations de Lake Formation comporte des bases de données et des tables entre comptes

  • Si le catalogue de données géré à l'aide des autorisations de Lake Formation comporte des liens vers des ressources