View a markdown version of this page

Interrogation des tables Amazon S3 avec Athena - Amazon Simple Storage Service

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.

Interrogation des tables Amazon S3 avec Athena

Amazon Athena est un service de requête interactif qui permet d’analyser les données directement dans Amazon S3 à l’aide du langage SQL standard. Pour de plus amples informations, veuillez consulter Qu'est-ce que Amazon Athena ? dans le Guide de l'utilisateur d'Amazon Athena.

Après avoir intégré vos compartiments de tables aux services d' AWS analyse, vous pouvez exécuter des requêtes en langage de définition des données (DDL), en langage de manipulation des données (DML) et en langage de requête de données (DQL) sur des tables S3 à l'aide d'Athena. Pour plus d’informations sur la manière d’interroger des tables dans un compartiment de table, consultez Enregistrement des catalogues de compartiments de table S3 dans le Guide de l’utilisateur Amazon Athena.

Vous pouvez également exécuter des requêtes dans Athena à partir de la console Amazon S3.

Important

Lorsque vous créez des tables, assurez-vous d’utiliser toutes les lettres minuscules dans les noms et les définitions de tables. Par exemple, assurez-vous que les noms des tables et des colonnes sont tous en minuscules. Si le nom ou la définition de votre table contient des majuscules, cela signifie que la table n'est pas prise en charge par AWS Lake Formation ou par AWS Glue Data Catalog. Dans ce cas, votre tableau ne sera pas visible par les services d' AWS analyse tels qu'Amazon Athena, même si vos compartiments de tableaux sont intégrés aux services AWS d'analyse.

Si la définition de votre table contient des majuscules, le message d'erreur suivant s'affiche lorsque vous exécutez une SELECT requête dans Athena : « GENERIC_INTERNAL_ERROR : échec de la demande d'obtention de la table : com.amazonaws.services.glue.model. ValidationException: Ressource de fédération non prise en charge - Noms de table ou de colonne non valides. »

La procédure suivante utilise la console Amazon S3 pour accéder à l’éditeur de requêtes Athena afin que vous puissiez interroger une table avec Amazon Athena.

Note

Avant d’effectuer les étapes suivantes, assurez-vous d’avoir intégré vos compartiments de table aux services d’analytique AWS de cette région. Pour de plus amples informations, veuillez consulter Intégrer Amazon S3 Tables à AWS services d'analyse.

Pour interroger une table
  1. Connectez-vous à Console de gestion AWS et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Compartiments de tables.

  3. Sur la page Compartiments de table, choisissez le compartiment qui contient la table que vous souhaitez interroger.

  4. Dans la page des détails du compartiment, choisissez le bouton radio en regard du nom de la table que vous souhaitez interroger.

  5. Choisissez Interroger une table avec Athena.

  6. La console Amazon Athena s’ouvre et l’éditeur de requêtes Athena apparaît avec un exemple de requête SELECT chargé pour vous. Modifiez cette requête en fonction de votre cas d’utilisation.

    Dans l’éditeur de requêtes, le champ Catalogue doit être renseigné avec s3tablescatalog/ suivi du nom de votre compartiment de table, par exemple s3tablescatalog/amzn-s3-demo-bucket. Le champ Base de données doit être renseigné avec l’espace de noms dans lequel votre table est stocké.

    Note

    Si vous ne voyez pas ces valeurs dans les champs Catalogue et Base de données, assurez-vous d’avoir intégré vos compartiments de table aux services d’analytique AWS de cette région. Pour de plus amples informations, veuillez consulter Intégrer Amazon S3 Tables à AWS services d'analyse.

  7. Pour exécuter la requête, choisissez ensuite Run (Exécuter).

    Note
    • Si vous recevez le message d’erreur « Autorisations insuffisantes pour exécuter la requête. Le principal ne dispose d’aucun privilège sur la ressource spécifiée. » lorsque vous essayez d’exécuter une requête dans Athena, vous devez disposer des autorisations Lake Formation nécessaires sur la table. Pour de plus amples informations, veuillez consulter Octroi de l’autorisation Lake Formation sur une table ou une base de données.

    • Si le message d'erreur « Iceberg ne peut pas accéder à la ressource demandée » s'affiche lorsque vous essayez d'exécuter la requête, accédez à la AWS Lake Formation console et assurez-vous que vous vous êtes accordé les autorisations nécessaires pour accéder au catalogue de compartiments de tables et à la base de données (espace de noms) que vous avez créés. Ne spécifiez pas de table lorsque vous accordez ces autorisations. Pour de plus amples informations, veuillez consulter Octroi de l’autorisation Lake Formation sur une table ou une base de données.

    • Si vous recevez le message d'erreur suivant lorsque vous exécutez une SELECT requête dans Athena, ce message est dû à la présence de lettres majuscules dans le nom de votre table ou dans le nom de vos colonnes dans la définition de votre table : « GENERIC_INTERNAL_ERROR : échec de la demande d'obtention de la table : com.amazonaws.services.glue.model. ValidationException: Ressource de fédération non prise en charge - Noms de table ou de colonne non valides. » Assurez-vous que les noms des tables et des colonnes sont tous en minuscules.