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 compartiment de table aux services d’analytique AWS, vous pouvez exécuter des requêtes en langage de définition de données (DDL), en langage de manipulation de 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, la table n’est pas prise en charge par AWS Lake Formation ou par le AWS Glue Data Catalog. Dans ce cas, votre table ne sera pas visible par les services d’analytique AWS tels qu’Amazon Athena, même si vos compartiments de table sont intégrés aux services d’analytique AWS.
Si la définition de votre table contient des majuscules, le message d’erreur suivant s’affiche lorsque vous exécutez une requête SELECT dans Athena : « GENERIC_INTERNAL_ERROR : échec de la demande de 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 plus d’informations, consultez Intégration d’Amazon S3 Tables aux services d’analytique AWS.
Pour interroger une table
Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/
. -
Dans le volet de navigation de gauche, choisissez Compartiments de tables.
-
Sur la page Compartiments de table, choisissez le compartiment qui contient la table que vous souhaitez interroger.
-
Dans la page des détails du compartiment, choisissez le bouton radio en regard du nom de la table que vous souhaitez interroger.
-
Choisissez Interroger une table avec Athena.
-
La console Amazon Athena s’ouvre et l’éditeur de requêtes Athena apparaît avec un exemple de requête
SELECTchargé 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 plus d’informations, consultez Intégration d’Amazon S3 Tables aux services d’analytique AWS.
-
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 plus d’informations, consultez 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 console AWS Lake Formation et assurez-vous que vous vous êtes accordé les autorisations nécessaires sur le catalogue de compartiments de table 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 plus d’informations, consultez Octroi de l’autorisation Lake Formation sur une table ou une base de données. -
Si la définition de votre table contient des majuscules, le message d’erreur suivant s’affiche lorsque vous exécutez une requête
SELECTdans Athena :« GENERIC_INTERNAL_ERROR : échec de la demande de 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.
-