Résoudre les erreurs liées aux tables - Amazon Athena

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.

Résoudre les erreurs liées aux tables

Utilisez les informations de cette section pour résoudre les erreurs de table Athena for Spark.

Impossible de créer une erreur de chemin lors de la création d'une table

Message d'erreur IllegalArgumentException : Impossible de créer un chemin à partir d'une chaîne vide.

Cause : Cette erreur peut se produire lorsque vous utilisez Apache Spark dans Athena pour créer une table dans un AWS Glue base de données, et la base de données possède une LOCATION propriété vide.

Solution suggérée : pour plus d'informations et de solutions, voir Exception d'argument non valide lors de la création d'une table.

AccessDeniedException lors de l'interrogation AWS Glue tables

Message d'erreur : pyspark.sql.utils. AnalysisException: Impossible de vérifier l'existence de la base de données par défaut : com.amazonaws.services.glue.model. AccessDeniedException: Utilisateur : arn:aws:sts : :aws-account-id:rôle-assumé/ - AWSAthenaSparkExecutionRoleunique-identifier/AthenaExecutor-unique-identifier n'est pas autorisé à exécuter : glue : GetDatabase on resource : arn:aws:glue :aws-region:aws-account-id:catalog car aucune politique basée sur l'identité n'autorise l'GetDatabase action glue : (Service : ; Code d'état : 400 AWSGlue ; Code d'erreur : ; ID de demande : AccessDeniedException request-id; Proxy : nul)

Cause : le rôle d'exécution de votre groupe de travail activé par Spark ne dispose pas des autorisations d'accès AWS Glue ressources.

Solution suggérée : pour résoudre ce problème, accordez à votre rôle d'exécution l'accès à AWS Glue ressources, puis modifiez votre politique de compartiment Amazon S3 pour accorder l'accès à votre rôle d'exécution.

La procédure suivante décrit de manière plus détaillée ces étapes.

Pour accorder à votre rôle d'exécution l'accès à AWS Glue resources
  1. Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/.

  2. Si le panneau de navigation de la console n'est pas visible, choisissez le menu d'extension sur la gauche.

    Choisissez le menu d'expansion.
  3. Dans le panneau de navigation de la console Athena, choisissez Workgroups (Groupes de travail).

  4. Sur la page Workgroups (Groupes de travail), choisissez le lien du groupe de travail à consulter.

  5. Sur la page Informations générales du groupe de travail, cliquez sur le ARN lien Rôle. Le lien ouvre le rôle d'exécution Spark dans la IAM console.

  6. Dans la section Permissions policies (Politiques d'autorisations), choisissez le nom de la politique de rôle liée.

  7. Choisissez Modifier la politique, puis choisissez JSON.

  8. Addition AWS Glue accès au rôle. En général, vous ajoutez des autorisations pour les actions glue:GetDatabase et glue:GetTable. Pour plus d'informations sur la configuration des IAM rôles, consultez la section Ajouter et supprimer des autorisations IAM d'identité dans le Guide de IAM l'utilisateur.

  9. Choisissez Review policy (Examiner une stratégie), puis Save changes (Enregistrer les modifications).

  10. Modifiez la politique de votre compartiment Amazon S3 pour accorder l'accès au rôle d'exécution. Notez que vous devez accorder au rôle l'accès à la fois au compartiment et aux objets qu'il contient. Pour les étapes, voir Ajout d'une politique de compartiment à l'aide de la console Amazon S3 dans le Guide de l'utilisateur Amazon Simple Storage Service.