Questions d'ordre général

Q : Qu'est-ce qu'Amazon Athena ?
Amazon Athena est un service de requête interactif qui facilite l'analyse des données dans Amazon S3 à l'aide de la syntaxe SQL standard. Athena ne requiert aucun serveur et vous pouvez commencer à analyser les données immédiatement, sans avoir à configurer ni gérer d'infrastructure. Il n'est même pas nécessaire de charger vos données dans Athena, puisque le service accède directement aux données stockées dans S3. Pour démarrer, connectez-vous à Athena Management Console, définissez votre schéma et lancez la requête. Amazon Athena utilise Presto, avec la prise en charge complète de la syntaxe SQL standard, et fonctionne avec de nombreux formats de données tels que CSV, JSON, ORC, Apache Parquet et Avro. Amazon Athena est la solution idéale pour effectuer des requêtes ponctuelles rapides. Il s'intègre à Amazon QuickSight pour faciliter l'affichage des données et il peut également gérer des analyses complexes, y compris des jointures, des fonctions de fenêtrage et des tableaux.
 
Q : Que puis-je faire avec Amazon Athena ?
Amazon Athena vous permet d'analyser des données stockées dans Amazon S3. Vous pouvez utiliser Athena pour exécuter des requêtes Spot à l'aide de SQL ANSI, sans avoir à consolider ou charger les données dans Athena. Amazon Athena peut traiter des ensembles de données non structurées, semi-structurées ou structurées. Par exemple, des formats de données CSV, JSON, Avro ou des formats en colonnes tels qu'Apache Parquet et Apache ORC. Amazon Athena s'intègre à Amazon QuickSight afin de faciliter l'affichage des données. Vous pouvez également utiliser Amazon Athena pour générer des rapports ou explorer les données à l'aide d'outils d'aide à la décision ou de clients SQL, connectés via un pilote ODBC ou JDBC.
 
Q : Comment démarrer avec Amazon Athena ?
Pour commencer à utiliser Amazon Athena, il vous suffit de vous connecter à AWS Management Console pour Athena et de créer votre schéma en écrivant des instructions DDL dans la console ou en utilisant un assistant de création de table. Ensuite, vous pouvez commencer l'interrogation des données à l'aide d'un éditeur de requête intégré. Athena interroge les données directement à partir d'Amazon S3 et il n'est donc pas nécessaire de les charger.
 
Q : Comment puis-je accéder à Amazon Athena ?
Vous pouvez accéder à Amazon Athena via AWS Management Console, une API, un pilote ODBC ou JDBC. À l'aide du pilote ODBC ou JDBC, vous pouvez exécuter des requêtes et ajouter des tables et des partitions par programmation.
 
Q : Quels sont les service limits associés à Amazon Athena ?
Pour plus d'informations sur les service limits, cliquez ici.
 
Q : Quelle est la technologie sous-jacente utilisée par Amazon Athena ?
Amazon Athena utilise Presto avec la prise en charge complète de la syntaxe SQL standard et fonctionne avec de nombreux formats de données tels que CSV, JSON, ORC, Avro et Parquet. Athena peut gérer des analyses complexes, y compris des jointures de grande taille, des fonctions de fenêtrage et des tableaux. Amazon Athena utilise Amazon S3 comme banque de données sous-jacente. Par conséquent, l'application est hautement disponible et durable, grâce à des données stockées de manière redondante dans plusieurs installations et sur plusieurs appareils situés dans chaque installation. Pour en savoir plus sur Presto, cliquez ici.
 
Q : Comment les définitions de table et les schémas sont-ils stockés dans Amazon Athena ?
Amazon Athena utilise un catalogue de données géré pour stocker les informations et les schémas des bases de données et des tables que vous créez pour les données stockées dans Amazon S3. Dans les régions dans lesquelles AWS Glue est disponible, vous pouvez mettre à niveau votre système pour utiliser le catalogue de données AWS Glue avec Amazon Athena. Dans les régions dans lesquelles AWS Glue n'est pas disponible, Athena utilise un catalogue interne.
Vous pouvez modifier le catalogue à l'aide d'instructions DDL ou d'AWS Management Console. Tous les schémas que vous définissez sont automatiquement enregistrés, sauf si vous les supprimez de manière explicite. Athena utilise la technologie de « schéma sur lecture », ce qui signifie que les définitions de table sont appliquées à vos données dans S3 lors de l'exécution des requêtes. Il n'est pas nécessaire de charger ou transformer les données. Vous pouvez supprimer des définitions de table et des schémas sans affecter les données sous-jacentes stockées sur Amazon S3.
 
Q : Pourquoi dois-je me mettre à niveau vers le catalogue de données AWS Glue ?
AWS Glue est un service ETL entièrement géré. Glue possède trois composants principaux : 1) un robot qui évalue automatiquement vos sources de données, identifie les formats de données et en déduit des schémas, 2) un service ETL entièrement géré qui vous permet de transformer et de déplacer des données vers diverses destinations et 3) un catalogue de données qui conserve les informations des métadonnées des bases de données et des tables conservées soit dans S3 soit dans une banque de données compatible avec ODBC ou JDBC. Pour profiter des avantages de Glue, vous devez mettre votre système à niveau pour passer du catalogue de données interne d'Athena au catalogue de données Glue.
Les avantages de mettre votre système à niveau vers le catalogue de données Glue sont :
  1. Référentiel de métadonnées unifié : AWS Glue est intégré à une large gamme de services AWS. AWS Glue prend en charge les données stockées sur Amazon Aurora, Amazon RDS MySQL, Amazon RDS PostgreSQL, Amazon Redshift et Amazon S3 ainsi que les bases de données MySQL et PostgreSQL de votre Virtual Private Cloud (VPC) associées à Amazon EC2. AWS Glue apporte une intégration clé en main à Amazon Athena, Amazon EMR, Amazon Redshift Spectrum ainsi qu'à toute application compatible du metastore Apache Hive.
  2. Reconnaissance automatique de schéma et de partition : AWS Glue analyse automatiquement vos sources de données, identifie les formats de données et propose des schémas et des transformations. Les robots peuvent aider à automatiser la création de tableaux et le chargement automatique de partitions.
  3. Facilité de création de pipelines  le moteur ETL d'AWS Glue génère du code Python personnalisable, réutilisable et portable. Vous pouvez modifier le code à l'aide de votre IDE ou de votre portable préféré et le partager aux autres grâce à GitHub. Lorsque votre tâche ETL est prête, vous pouvez prévoir de la lancer sur l'infrastructure d'augmentation entièrement gérée Spark d'AWS Glue. AWS Glue n'a pas recours à un serveur ; c'est lui qui gère l'allocation, la configuration et le dimensionnement des ressources nécessaires pour exécuter les tâches ETL, ce qui vous permet d'intégrer étroitement un ETL à votre flux de travail.
Cliquez ici pour en savoir plus sur le catalogue de données Glue.
 
Q : Y a-t-il un guide pas à pas pour effectuer une mise à niveau vers le catalogue de données AWS ?
Oui. Vous pourrez trouver le guide pas à pas en cliquant ici.
 
Q : Dans quelles régions Amazon Athena est-il disponible ?
Consultez la section Produits et services régionaux pour plus d'informations sur la disponibilité du service Amazon Athena par région.
 

Fonctions en version préliminaire

Q : Quelles sont les fonctions en version préliminaire disponibles dans Athena ?
Vous pouvez désormais appeler vos modèles de machine learning (ML) SageMaker dans une requête Athena SQL afin d’exécuter une inférence. La possibilité d’utiliser des modèles ML dans les requêtes SQL rend les tâches complexes, par exemple la détection des anomalies, l’analyse des cohortes de clients et les prévisions de ventes, aussi simples que l’écriture de la requête SQL. En savoir plus.
 
Grâce aux requêtes fédérées, vous pouvez désormais analyser les données stockées dans une variété de banques de données, tant sur site que sur AWS, dans la même requête. Athena prend en charge les requêtes fédérées dans les sources de données relationnelles, non relationnelles, d’objets ou personnalisées. Vous pouvez désormais également écrire votre propre connecteur de sources de données en utilisant notre kit SDK Query Federation. En savoir plus.
 
Grâce aux fonctions définies par l’utilisateur (UDF), vous pouvez désormais écrire vos propres fonctions en langage Java et les appeler dans votre requête Athena SQL. En savoir plus.
 
Vous pouvez connecter Athena à votre metastore Apache Hive externe. Si votre ensemble de données est stocké dans Amazon S3, alors en plus d’utiliser le catalogue de données AWS Glue comme banque de métadonnées, vous pouvez connecter Athena à votre metastore Hive en utilisant un connecteur de sources de données basé sur AWS Lambda. En savoir plus.
 
Q : Comment puis-je tester les fonctions en version préliminaire ?
Toutes les requêtes Athena provenant du Workgroup AmazonAthenaPreviewFunctionality seront considérées comme des requêtes de tests de version préliminaire. Vous pouvez créer et configurer un nouveau Workgroup AmazonAthenaPreviewFunctionality en utilisant les API Athena ou Athena UX. Pour créer un nouveau Workgroup, suivez ces étapes.
 
Les remarques ci-dessous sont importantes en ce qui concerne l’utilisation des fonctions en version préliminaire. Ne modifiez pas le nom du Workgroup. Vous pouvez modifier d’autres paramètres du Workgroup, notamment Enable CloudWatch Metrics (Activation des métriques CloudWatch) et Enable Requester Pays (Activation du paiement par le demandeur). Vous pouvez utiliser la console Athena, les pilotes JDBC/ODBC ou les API pour soumettre vos requêtes de tests. Veillez à indiquer le Workgroup, AmazonAthenaPreviewFunctionality, lors de la soumission de vos requêtes de tests. La fonction en version préliminaire n’est disponible que dans la région us-east-1. Si vous utilisez Athena dans une autre région et soumettez des requêtes via le Workgroup AmazonAthenaPreviewFunctionality, elles échoueront. Les appels entre régions AWS ne sont pas pris en charge en mode version préliminaire.
 
Q : L’utilisation des fonctions en version préliminaire Athena dans mon compte de production est-elle sécurisée ?
Nous vous conseillons de ne pas importer vos charges de travail de production vers le Workgroup en version préliminaire AmazonAthenaPreviewFunctionality. Les performances des requêtes peuvent varier entre le Workgroup en version préliminaire et les autres Workgroups dans votre compte. De plus, nous pourrions ajouter au Workgroup en version préliminaire de nouveaux correctifs de bugs et de nouvelles fonctions pas nécessairement rétrocompatibles.
 
Q : Comment soumettre mes requêtes ?
Vous pouvez soumettre vos requêtes en utilisant la console Athena ou les API Athena, ou encore le pilote JDBC de version préliminaire Athena doté de n’importe quel outil prêt à l’emploi dédié à la visualisation des requêtes et des résultats, par exemple SQL WorkBench.
 
Q : Comment puis-je donner un avis sur la fonction en version préliminaire ?
Vos avis sont précieux pour nous. Veuillez nous envoyer vos commentaires à l’adresse athena-feedback@amazon.com.
 
Q : Le test des fonctions en version préliminaire est-il tarifé ?
Pendant la version préliminaire, aucuns frais ne vous sont facturés pour les données analysées dans des sources de données fédérées. Cependant, les tarifs Athena standard s’appliquent pour les données analysées dans Amazon S3. De plus, des tarifs standard vous sont facturés pour les services AWS que vous utilisez conjointement avec Athena, par exemple Amazon S3, AWS Lambda, AWS Glue, Amazon SageMaker et AWS Serverless Application Repository. À titre d’illustration, le stockage, les requêtes et le transfert de données entre régions sont facturés selon les tarifs S3. Par défaut, les résultats de requêtes sont stockés dans le compartiment S3 de votre choix et sont également facturés selon les tarifs Amazon S3 standard. Si vous utilisez AWS Lambda, alors vous payez en fonction du nombre de requêtes pour vos fonctions et pour la durée, c'est-à-dire le temps nécessaire à l'exécution de votre code.
 
Q : Que se passe-t-il à l’issue de la version préliminaire ?
Toutes les requêtes soumises via le Workgroup AmazonAthenaPreviewFunctionality échoueront. Vous pouvez continuer de soumettre vos requêtes à partir d’autres Workgroups. Si vous ne spécifiez aucun Workgroup, alors la requête s’exécutera automatiquement à l’aide du Workgroup principal par défaut. Veuillez noter que la version préliminaire d’une fonction peut prendre fin à tout moment.

Quand utiliser Athena plutôt que d'autres services de Big Data

Q : Quelle est la différence entre Amazon Athena, Amazon EMR et Amazon Redshift ?
Les services de requête tels qu'Amazon Athena, les entrepôts de données tels qu'Amazon Redshift et les infrastructures de traitement de données sophistiquées telles qu'Amazon EMR répondent tous à des besoins et des cas d'utilisation différents. Vous devez donc sélectionner l'outil le plus approprié pour vos tâches. Amazon Redshift offre les performances de requête les plus rapides pour la création de rapports et les charges de travail d'aide à la décision des entreprises, particulièrement lors de l'utilisation de SQL complexe avec de nombreuses jointures et sous-requêtes. Amazon EMR permet d'exécuter de manière simple et économique des infrastructures de traitement hautement distribuées telles que Hadoop, Spark et Presto, lorsque comparé à des déploiements sur site. Amazon EMR offre une grande flexibilité : vous pouvez ainsi exécuter des applications et du code personnalisés et définir des paramètres spécifiques pour le calcul, la mémoire, le stockage et l'application afin d'optimiser vos exigences d'analyse. Amazon Athena représente la solution la plus conviviale pour exécuter des requêtes ponctuelles sur des données stockées dans S3, sans avoir à configurer ou gérer de serveurs.
 
Q : Quand dois-je utiliser un entrepôt de données d'entreprise complet comme Amazon Redshift plutôt qu'un service de requête comme Amazon Athena ?
Un entrepôt de données tel qu'Amazon Redshift représente la meilleure solution si vous devez rassembler des données provenant de nombreuses sources différentes (par exemple, systèmes d'inventaire, systèmes financiers et systèmes de ventes au détail) dans un même format et les stocker, pendant de longues périodes, afin de créer des rapports d'activité sophistiqués.
 
Les entrepôts de données collectent les données dans l'ensemble de l'entreprise et constituent la « seule source fiable » pour la création et l'analyse de rapports. Les entrepôts de données extraient les données de nombreuses sources, puis les formatent et les organisent afin de les stocker. Ils prennent en charge des requêtes rapides complexes qui génèrent des rapports d'activité. Le moteur de requête d'Amazon Redshift a été optimisé afin de fonctionner de manière performante dans ce cas d'utilisation, dans lequel vous devez exécuter des requêtes complexes qui joignent un nombre élevé de tables de données extrêmement volumineuses. TPC-DS est une référence standard conçue pour répliquer ce cas d'utilisation et Redshift exécute ces requêtes jusqu'à 20 fois plus rapidement que des services de requête optimisés pour des données non structurées. Il convient de choisir Amazon Redshift lorsque vous devez exécuter des requêtes sur les données hautement structurées de très grandes tables.
 
En comparaison, des services de requête tels qu'Amazon Athena facilitent l'exécution de requêtes directement dans les tables d'Amazon S3, sans qu'il soit nécessaire de formater les données ni gérer l'infrastructure. Par exemple, Athena convient parfaitement si vous voulez exécuter une requête rapide sur quelques journaux web pour résoudre un problème affectant votre site. Les services de requête vous permettent de commencer rapidement. Vous définissez simplement une table pour vos données, puis commencez la requête à l'aide de la syntaxe SQL standard.
 
Vous pouvez utiliser les deux services simultanément. Si vous préparez vos données dans Amazon S3 avant de les charger dans Amazon Redshift, ces données peuvent également être enregistrées et interrogées à l'aide d'Amazon Athena.
 
Q : Dans quels cas dois-je privilégier Amazon ECS à Amazon Athena ?
Amazon EMR fait bien plus qu'exécuter des requêtes SQL. Avec EMR, vous pouvez exécuter un grand nombre de tâches de traitement de données avec montée en charge pour des applications telles que l'apprentissage machine, l'analyse graphique, la transformation de données, la diffusion de données et quasiment toutes les opérations que vous pouvez coder. Choisissez Amazon EMR si vous utilisez du code personnalisé pour traiter et analyser des ensembles de données extrêmement volumineux avec les infrastructures de traitement de Big Data les plus récentes telles que Spark, Hadoop, Presto ou Hbase. Amazon EMR vous permet de contrôler entièrement la configuration de vos clusters et les logiciels installés sur ceux-ci.
 
Utilisez Amazon Athena si vous voulez exécuter des requêtes SQL Spot interactives sur Amazon S3, sans avoir à gérer l'infrastructure ni les clusters.
 
Q : Est-il possible d'utiliser Amazon Athena pour interroger des données traitées à l'aide d'Amazon EMR ?
Oui, Amazon Athena prend en charge un grand nombre des formats de données pris en charge par Amazon EMR. Le catalogue de données Athena est compatible avec le metastore de Hive. Si vous utilisez EMR et que vous disposez déjà d'un metastore Hive, il vous suffit d'exécuter vos instructions DDL sur Amazon Athena, puis vous pouvez commencer l'interrogation des données immédiatement, sans affecter vos tâches Amazon EMR.
 
Q : Quelle relation existe-t-il entre les requêtes fédérées dans Athena et les autres services AWS ? [version préliminaire]
Les requêtes fédérées dans Athena vous permettent d’exécuter des requêtes SQL dans une variété de sources de données relationnelles, non relationnelles et personnalisées. Vous bénéficiez alors d’un moyen unifié d’exécuter des requêtes SQL dans diverses banques de données.
 
Q : Quelle relation existe-t-il entre le machine learning dans Athena et les autres services AWS ? [version préliminaire]
Les requêtes Athena SQL peuvent appeler les modèles de machine learning déployés sur Amazon SageMaker. Vous pouvez indiquer l’emplacement Amazon S3 dans lequel vous souhaitez stocker les résultats des requêtes SQL Athena.
 
 

Création de tables, formats de données et partitions

Q : Comment puis-je créer des tables et des schémas pour mes données dans Amazon S3 ?
Amazon Athena utilise Apache Hive DDL pour définir les tables. Vous pouvez exécuter des instructions DDL à l'aide de la console Athena, via un pilote ODBC ou JDBC, via l'API ou à l'aide de l'assistant de création de tables Athena. Si vous utilisez les catalogues de données AWS Glue couplés à Athena, vous pouvez également utiliser les robots Glue pour déduire automatiquement les schémas et les partitions. Un robot AWS Glue se connecte à une banque de données, progresse à travers une liste classée par priorité de classificateurs pour extraire le schéma de vos données et d'autres statistiques, puis alimente le catalogue de données Glue avec ces métadonnées. Les robots peuvent être exécutés régulièrement pour détecter la présence de nouvelles données ainsi que des changements aux données existantes, y compris les changements apportés à la définition à la table. Les robots ajoutent automatiquement de nouvelles tables, de nouvelles partitions aux tables existantes et de nouvelles versions des définitions des tables. Vous pouvez personnaliser les robots Glue pour classer vos propres types de fichiers.
 
Lorsque vous créez un nouveau schéma de table dans Amazon Athena, il est stocké dans le catalogue de données et utilisé lors de l'exécution des requêtes, mais il ne modifie pas les données stockées dans S3. Athena utilise une approche appelée « schéma sur lecture » qui vous permet de projeter le schéma sur les données lorsque vous exécutez une requête. Cela élimine la nécessité de charger ou transformer les données. En savoir plus sur la création de tables.
 
Q : Quels sont les formats de données pris en charge par Amazon Athena ?
Amazon Athena prend en charge une vaste gamme de formats de données comme CSV, TSV, JSON et les fichiers texte, ainsi que des formats en colonnes open source comme Apache ORC et Apache Parquet. Athena prend également en charge les données compressées utilisant les formats Snappy, Zlib, LZO et GZIP. La compression et le partitionnement des données et l'utilisation de formats en colonnes vous permettent d'améliorer les performances et de réduire les coûts.
 
Q : Quels sont les types de données pris en charge par Amazon Athena ?
Amazon Athena prend en charge des types de données simples comme INTEGER, DOUBLE, VARCHAR et des types de données complexes comme MAPS, ARRAY et STRUCT.  
 
Q : Est-il possible d'exécuter n'importe quelle requête Hive sur Athena ?
Amazon Athena utilise Hive uniquement pour le Langage de définition de données (DDL) et pour la création/modification et suppression de tables et/ou de partitions. Pour obtenir la liste complète des instructions prises en charge, cliquez ici. Athena utilise Presto lors de l'exécution de requêtes SQL sur Amazon S3. Vous pouvez exécuter des instructions SQL SELECT compatibles avec ANSI pour interroger vos données dans Amazon S3.
 
A : Qu'est-ce qu'un SerDe ?
SerDe est l'acronyme de Sérialiseur/Désérialiseur. Il s'agit de bibliothèques qui indiquent à Hive comment interpréter les formats de données. Les instructions DLL Hive exigent la spécification d'un SerDe, afin d'indiquer au système comment interpréter les données que vous désignez. Amazon Athena utilise des SerDe pour interpréter les données lues à partir d'Amazon S3. Le concept de SerDe d'Athena est identique à celui utilisé dans Hive. Amazon Athena prend en charge les SerDe suivants :
  1. Journaux web Apache : « org.apache.hadoop.hive.serde2.RegexSerDe »
  2. CSV : « org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe »
  3. TSV : « org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe »
  4. Délimiteurs personnalisés : « org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe »
  5. Parquet : « org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe »
  6. Orc : « org.apache.hadoop.hive.ql.io.orc.OrcSerde »
  7. JSON : « org.apache.hive.hcatalog.data.JsonSerDe » OU org.openx.data.jsonserde.JsonSerDe
 
Q : Puis-je ajouter mon propre SerDe (Sérialiseur/Désérialiseur) à Amazon Athena ?
Il n'est pas possible d'ajouter votre propre SerDe à Amazon Athena pour l'instant. Vos commentaires nous sont précieux, aussi si vous souhaitez suggérer l'ajout d'autres SerDe, contactez l'équipe Athena à l'adresse Athena-feedback@amazon.com
 
Q : J'ai créé des fichiers Parquet/ORC à l'aide de Spark/Hive. Est-il possible d'exécuter des requêtes sur ces fichiers via Athena ?
Oui, les fichiers Parquet et ORC créés via Spark peuvent être lus dans Athena.
 
Q : J'utilise des données provenant de Kinesis Firehose. Comment puis-je exécuter des requêtes sur ces données à l'aide d'Athena ?
Si les données Kinesis Firehose sont stockées dans Amazon S3, vous pouvez les interroger à l'aide d'Amazon Athena. Il vous suffit de créer un schéma pour les données dans Athena et de commencer l'interrogation. Nous vous recommandons de répartir les données dans des partitions afin d'optimiser les performances. Il est possible d'ajouter des partitions créées par Kinesis Firehose à l'aide d'instructions DDL ALTER TABLE. En savoir plus sur les partitions.
 
Q : Amazon Athena prend-il en charge le partitionnement des données ?
Oui. Amazon Athena vous permet de partitionner vos données sur n'importe quelle colonne. Les partitions permettent de limiter les données analysées par chaque requête, ce qui optimise les performances et réduit les coûts. Pour spécifier le schéma de partionnement, utilisez la clause PARTITIONED BY dans l'instruction CREATE TABLE. En savoir plus sur le partitionnement de données.
 
Q : Comment puis-je ajouter de nouvelles données à une table existante dans Amazon Athena ?
Si vos données sont réparties dans des partitions, vous devez exécuter une requête de métadonnées (ALTER TABLE ADD PARTITION) pour ajouter la partition à Athena lorsque les nouvelles données sont disponibles dans Amazon S3. Si vos données ne sont pas partitionnées, il vous suffit d'ajouter les nouvelles données (ou les nouveaux fichiers) au préfixe existant pour que celles-ci soient automatiquement ajoutées à Athena. En savoir plus sur le partitionnement de données.
 
Q : J'ai déjà des pétoctets de données de journaux dans Amazon S3. Puis-je utiliser Amazon Athena pour les interroger ?
Oui, Amazon Athena vous permet d'exécuter facilement des requêtes SQL standard sur vos données de journaux existantes. Athena interroge les données directement à partir d'Amazon S3 et il n'est donc pas nécessaire de les déplacer ou les charger. Définissez simplement votre schéma à l'aide d'instructions DDL, puis commencez immédiatement l'interrogation des données.

Interrogation et formats de données

Q : Quels sont les types de requêtes pris en charge par Amazon Athena ?
Amazon Athena prend en charge les requêtes SQL ANSI. Amazon Athena utilise Presto, un moteur SQL distribué, en mémoire et de format open source, et il peut gérer des analyses complexes, y compris des jointures de grande taille, des fonctions de fenêtrage et des tables.

Q : Est-il possible d'utiliser Amazon QuickSight avec Amazon Athena ?
Oui. Amazon Athena s'intègre à Amazon QuickSight, ce qui vous permet d'afficher facilement les données stockées dans Amazon S3.

Q : Athena prend-il en charge d'autres outils décisionnels et clients SQL 
Oui. Amazon Athena inclut un pilote ODBC ou JDBC que vous pouvez utiliser avec d'autres outils d'aide à la décision et clients SQL. En savoir plus sur l'utilisation d'un pilote ODBC ou JDBC avec Athena.

Q : Comment accéder aux fonctions prises en charge par Amazon Athena ?
Cliquez ici pour en savoir plus sur les fonctions prises en charge par Amazon Athena.
 
Q : Comment puis-je améliorer les performances de mes requêtes ?
Vous pouvez améliorer les performances d'une requête en compressant, partitionnant ou convertissant vos données à des formats en colonnes. Amazon Athena prend en charge des formats de données en colonnes open source tels qu'Apache Parquet et Apache ORC. La conversion des données dans un format en colonnes compressé permet de réduire vos coûts et d'optimiser les performances des requêtes, car Athena analyse moins de données dans S3 lors de l'exécution de la requête.
 
Q : Athena prend-il en charge les fonctions définies par l'utilisateur (UDF) ? [version préliminaire]
Amazon Athena prend désormais en charge les fonctions définies par l’utilisateur (UDF), afin de vous permettre d’écrire des fonctions scalaires personnalisées et de les appeler dans les requêtes SQL. Athena fournit des fonctions intégrées, tandis que les fonctions définies par l’utilisateur permettent d’effectuer des traitements personnalisés, par exemple la compression et la décompression des données, la rédaction des données sensibles ou l’application du déchiffrement personnalisé.

Vous pouvez rédiger vos fonctions définies par l’utilisateur en langage Java en utilisant le kit SDK Query Federation d’Athena. Lorsqu’une fonction définie par l’utilisateur est utilisée dans une requête SQL soumise sur Athena, elle est appelée et exécutée sur AWS Lambda. Les fonctions définies par l’utilisateur peuvent être utilisées dans les clauses SELECT et FILTER d’une requête SQL. Vous pouvez appeler plusieurs fonctions définies par l’utilisateur dans la même requête.
 
Q : Quelle est l’expérience des utilisateurs en matière d’écriture des fonctions définies par l’utilisateur ? [version préliminaire]
Vous pouvez utiliser le kit Query Federation d’Athena pour écrire votre fonction définie par l’utilisateur. Cliquez ici pour voir des exemples de fonctions définies par l’utilisateur. Vous pouvez transférer votre fonction sur AWS Lambda, puis l’appeler dans votre requête Athena. Cliquez ici pour démarrer.
 
Athena appellera votre fonction définie par l’utilisateur sur un lot de lignes d’ensembles de données à des fins d’optimisation des performances.

Requête fédérée [version préliminaire]

Q : Pourquoi devriez-vous utiliser les requêtes fédérées dans Athena ? [version préliminaire]
Les développeurs sélectionnent parfois des bases de données relationnelles, clé-valeur, de documents, en mémoire, de recherche, graphiques, de séries chronologiques et de registres lors du stockage des données sur S3. L’exécution de l’analyse sur des données disséminées dans une grande variété de sources de données peut être à la fois complexe et chronophage. Les analystes sont parfois tenus d’apprendre de nouveaux langages de programmation et de nouvelles constructions de bases de données, de créer des pipelines complexes pour extraire, transformer et créer des copies de données avant même de pouvoir les analyser. De même, les spécialistes de données doivent parfois extraire des données dans plusieurs sources de données afin de créer un ensemble de données adapté à l’extraction et à la formation de fonctions. Tout ce processus est chronophage et freine la construction de plateformes en libre-service où les analystes et les spécialistes de données peuvent facilement créer des pipelines capables d’extraire des données dans plusieurs sources. En général, les analystes doivent s’appuyer sur des équipes d’ingénieurs de données pour créer des pipelines de cette nature, une démarche à l’origine de retards et de complexité. Les requêtes fédérées éliminent toute cette complexité en fournissant un service sans serveur simple et payé par requête qui vous permet d’exécuter vos requêtes SQL dans une vaste gamme de banques de données. Vous pouvez utiliser des constructions SQL de renom pour interroger les données dans plusieurs sources de données afin d’accélérer l’analyse, ou utiliser les requêtes SQL pour extraire et transformer les données dans plusieurs sources de données, puis stocker ces données dans S3 à des fins d’analyses approfondies.
 
De plus, vous pourriez disposer de bases de données et de catalogues propriétaires ou personnalisés. Les requêtes fédérées Athena sont extensibles, car elles vous permettent d’écrire vos propres connecteurs ou d’utiliser ceux développés par la communauté afin d’exécuter des requêtes SQL dans n’importe quel catalogue personnalisé ou source de données. Il existe des implémentations de référence à code source libre pour plusieurs de ces sources de données. Vous pouvez les utiliser comme références pour développer de nouvelles implémentations.
 
Q : Quels sont les cas d’utilisation pris en charge par les requêtes fédérées Athena ? [version préliminaire]
Les requêtes fédérées Athena prennent en charge un large choix de cas d’utilisation. Premier exemple : l’analyse ponctuelle, dans laquelle les données sont parfois stockées dans une variété de banques de données. Soit une entreprise de e-commerce qui utilise Amazon ElasticCache Redis pour stocker des commandes actives, Amazon DocumentDB ou MongoDB pour stocker des informations spécifiques aux clients, à l’instar de l’adresse e-mail, de l’adresse d’expédition, etc., et Amazon CloudWatch Logs (un exemple de banque de données personnalisée) pour stocker les événements du journal des applications de traitement des commandes. Si vous souhaitez savoir ce qu’il s’est passé avec une commande donnée signalée comme en retard, vous pouvez utiliser une requête simple pour combiner les données dans plusieurs banques de données afin d’exécuter rapidement votre analyse.
 
Deuxième exemple : l’exécution de tâches ETL dans plusieurs sources de données. L’exécution de l’analyse nécessite parfois de regrouper des données issues de plusieurs sources afin de pouvoir ultérieurement les publier dans un entrepôt de données ou les interroger à l’aide de moteurs, comme Athena, Apache Spark ou Apache Presto. Un tel regroupement des données requiert la construction de pipelines de données capables d’extraire et de transformer de manière planifiée des données provenant de plusieurs sources La construction de pipelines de données implique souvent l’apprentissage de nouveaux langages de programmation, dont Python et Java, ou l’utilisation de systèmes distribués à grande échelle, à l’instar d’Apache Spark. Parfois, les analyses doivent s’appuyer sur des équipes d’ingénieurs de données pour bâtir ces pipelines. Avec les requêtes fédérées d’Athena, vous pouvez rédiger vos pipelines sous forme d’instructions SQL et planifier leur exécution.
 
Troisième exemple : les spécialistes de données doivent parfois extraire des données dans plusieurs sources afin de créer un ensemble de données adapté à l’extraction et à la formation de fonctions. Ce processus est chronophage et freine la construction de plateformes en libre-service.
 
Q : Comment fonctionnent les connecteurs de sources de données Athena ? [version préliminaire]
Vous pouvez exécuter des requêtes SQL dans de nouvelles banques de données en enregistrant ces dernières sur Athena. Pour enregistrer une source de données, vous devez utiliser un connecteur de sources de données Athena propre à ladite source de données. Un connecteur peut être utilisé pour élargir les fonctionnalités d’interrogation d’Athena aux nouvelles sources de données. Vous pouvez utiliser les connecteurs open source fournis par AWS, créer vos propres connecteurs ou contribuer sur ceux existants, ou encore utiliser ceux développés par la communauté ou le marketplace. En fonction du type de source de données, un connecteur gère les informations de métadonnées, identifie les parties spécifiques des tables nécessitant une analyse, une lecture ou un filtrage, et gère les parallélismes.
 
Les connecteurs fonctionnent comme des fonctions AWS Lambda dans le compte client. Chaque connecteur est composé de deux fonctions Lambda propres à une source de données, dont une pour les métadonnées et l’autre pour la lecture des enregistrements. Vous pouvez déployer des fonctions Lambda en utilisant du code dans le référentiel Github, ou utiliser les fonctions Lambda prédéployées disponibles dans AWS Serverless Application Repository. Une fois déployées, les fonctions Lambda génèrent un Amazon Resource Name (ARN). Vous devez enregistrer cet ARN sur Athena. L’enregistrement d’un ARN permet à Athena de connaître à quelle fonction Lambda s’adresser lors de l’exécution des requêtes. Une fois l’ARN enregistré, vous pouvez interroger la source de données enregistrée. Vous devez répéter le processus pour chaque source de données.
 
Lors de l’exécution d’une requête sur une source de données fédérée, Athena distribue parallèlement les invocations Lambda procédant à la lecture des métadonnées et des données. Le nombre d’invocations parallèles varie selon les limites de simultanéités Lambda de votre compte. Par exemple, si votre limite d’invocations simultanées Lambda est 300, alors Athena peut exécuter 300 fonctions d’invocations parallèles Lambda pour la lecture des enregistrements. Pour deux requêtes s’exécutant en parallèle, Athena peut invoquer le double du nombre d’exécutions simultanées. Vous pouvez définir vos propres limites, afin de contrôler les coûts et le débit vers la source de données.
 
Q : Quels sont les connecteurs disponibles pour les requêtes fédérées d’Athena ? [version préliminaire]
Athena a placé en open source des connecteurs de sources de données vers Apache HBase, Amazon DocumentDB, Amazon DynamoDB et Amazon CloudWatch Logs et CloudWatch Metrics. Athena possède également un connecteur JDBC générique permettant de connecter n’importe quelle source de donnée conforme JDBC, ainsi qu’un connecteur CMDB AWS (Configuration Management Database) permettant aux clients d’exécuter des requêtes sur les métadonnées de ressources AWS.
 
Q : Comment s’utilise le kit SDK Query Federation ? [version préliminaire]
Vous pouvez utiliser le kit SDK Query Federation pour créer votre propre connecteur à employer lors de l’interrogation d’une source de données via Athena. Des implémentations de modèles sont fournies pour chacun des connecteurs. Vous pouvez utiliser les modèles comme références. Pour démarrer, consultez notre documentation.
 
Q : Puis-je utiliser les fonctionnalités des requêtes fédérées pour les tâches ETL ? Quel est le flux de travail ? [version préliminaire]
Tous les résultats des requêtes Athena sont stockés dans un emplacement Amazon S3 que vous définissez. Vous pouvez utiliser les fonctionnalités des requêtes fédérées d’Athena pour exécuter une requête d’analyse de sources de données de votre choix et stocker les résultats dans S3 dans une requête SQL. Les constructions SQL courantes, telles que les clauses JOIN, FILTER, etc., sont prises en charge. De plus, vous pouvez également définir vos propres fonctions via la fonctionnalité UDF d’Athena, afin de pré-traiter ou post-traiter votre ensemble de données de résultats.
 
Q : Allez-vous publier le support SDK pour des langages de programmation autres que JAVA ? [version préliminaire]
Veuillez nous indiquer les langages de programmation pour lesquels vous désirez du support en écrivant à l’adresse athena-feedback@amazon.com.
 
Q : Quelles sont les limitations connues du kit SDK Query Federation ? [version préliminaire]
Lors du lancement de la version préliminaire, le kit SDK Query Federation ne prenait en charge que les lectures et les fonctions Lambda basées sur JAVA.

Machine learning [version préliminaire]

Q : Quels sont les cas d’utilisation pris en charge par Athena pour le machine learning intégré ? [version préliminaire]
Les cas d’utilisation d’Athena dédiés au machine learning couvrent plusieurs secteurs, comme illustré ci-dessous. Les analystes de données de risque financier peuvent exécuter des analyses basées sur les hypothèses, ainsi que des simulations suivant la méthode de Monte-Carlo. Les analystes commerciaux peuvent exécuter des modèles linéaires de régression ou de prévision visant à faire des prédictions sur des valeurs futures. L’objectif étant de créer des tableaux de bord commerciaux riches et prospectifs permettant de prédire les revenus. Les analystes marketing peuvent utiliser les modèles de partitionnement en k-moyennes pour déterminer leurs différents segments de clients. Les analystes de sécurité peuvent utiliser les modèles bivariants et multivariants de régression logistique pour détecter des anomalies et des incidents de sécurité dans différents journaux.
 
Q : Quels modèles de machine learning sont-ils compatibles avec Athena ? [version préliminaire]
Athena peut appeler n’importe quel modèle de machine learning déployé sur Amazon SageMaker. Vous pouvez former votre propre modèle à l’aide de vos données propriétaires, ou utiliser un modèle préformé et déployé sur SageMaker. Par exemple, l’analyse de clusters devrait probablement être formée sur vos propres données, car vous désireriez sans doute classer les nouveaux enregistrements dans les mêmes catégories que celles utilisées pour les enregistrements précédents. Par ailleurs, vous pouvez utiliser un modèle publiquement disponible pour faire des prévisions sur les événements sportifs réels, car les données de formation utilisées se trouveraient déjà dans le domaine public. Les prévisions propres à certains domaines ou secteurs seront généralement formées sur vos propres données dans SageMaker, tandis que les besoins en matière de machine learning indifférencié pourront utiliser des modèles externes.
 
Q : Puis-je former mes modèles de machine learning avec Athena ? [version préliminaire]
Vous ne pouvez pas former et déployer vos modèles de machine learning sur SageMaker avec Athena. Vous pouvez former votre propre modèle de machine learning, ou utiliser un modèle préformé déployé sur SageMaker via Athena. La documentation détaillant les étapes de formation sur SageMaker est disponible ici.
 
Q : Puis-je exécuter des inférences sur des modèles déployés sur d’autres services, par exemple Comprehend et Forecasting, ou sur des modèles déployés sur mon propre cluster EC2 ? [version préliminaire]
Athena ne prend en charge que l’invocation de modèles de machine learning déployés sur SageMaker. Vos commentaires sur les autres services que vous voudriez utiliser avec Athena sont les bienvenus. Veuillez nous les envoyer à l’adresse athena-feedback@amazon.com.
 
Q : Quelles sont les conséquences sur les performances de l’utilisation des requêtes Athena pour les inférences SageMaker ? [version préliminaire]
Nous ajoutons en permanence des améliorations de performances opérationnelles à nos fonctions et services. Pour optimiser les performances de vos requêtes de machine learning Athena, nous regroupons les lignes lors de l’invocation de votre modèle de machine learning SageMaker, à des fins d’inférence. Pour le moment, nous ne prenons pas en charge les modifications de taille des groupes de lignes fournies par les utilisateurs.
 
Q : Quelles sont les fonctions prises en charge par le machine learning d’Athena ? [version préliminaire]
Athena fournit des fonctionnalités d’inférence (prévision) de machine learning assurées par une interface SQL. Vous pouvez aussi appeler une fonction définie par l’utilisateur Athena (également incluse dans la version préliminaire) afin d’invoquer une logique de pré- ou post-traitement sur votre ensemble de résultats. Les entrées sont les colonnes, les enregistrements, les tables, etc. Plusieurs appels peuvent être regroupés à des fins d’optimisation de la scalabilité. Vous pouvez exécuter des inférences dans les clauses SELECT ou FILTER. Pour en savoir plus, consultez notre documentation.
 
Q : Quels modèles de machine learning puis-je utiliser ? [version préliminaire]
Amazon SageMaker prend en charge une variété d’algorithmes de machine learning. Vous pouvez également créer vos modèles propriétaires de machine learning et les déployer sur Amazon SageMaker. Par exemple, l’analyse de clusters devrait probablement être formée sur vos propres données, car vous désireriez sans doute classer les nouveaux enregistrements dans les mêmes catégories que celles utilisées pour les enregistrements précédents. Par ailleurs, vous pouvez utiliser un modèle publiquement disponible pour faire des prévisions sur les événements sportifs réels, car les données de formation utilisées se trouveraient dans le domaine public.
 
Nous espérons que les prévisions propres à certains domaines ou secteurs seront généralement formées sur vos propres données dans SageMaker, tandis que les besoins en matière de machine learning indifférencié, par exemple la traduction automatique, pourront utiliser des modèles externes.

Sécurité et disponibilité

Q : Comment puis-je contrôler l'accès à mes données ?
Amazon Athena vous permet de contrôler l'accès à vos données à l'aide de stratégies AWS IAM (Identity and Access Management), de listes de contrôle d'accès (ACL) et de stratégies de compartiment Amazon S3. A l'aide des stratégies IAM, vous pouvez accorder aux utilisateurs IAM un contrôle IAM précis de vos compartiments S3. En contrôlant l'accès aux données dans S3, vous pouvez empêcher les utilisateurs de les interroger à l'aide d'Athena.
 
Athena peut-elle consulter des donnée chiffrées dans Amazon S3 ?
Oui, vous pouvez consulter des données qui sont chiffrées à l'aide d'un chiffrement côté serveur avec les clés de chiffrement gérées Amazon S3, d'un chiffrement côté serveur avec les clés gérées d'AWS Key Management Service (KMS) et d'un chiffrement côté client avec les clés gérées par KMS. Amazon Athena s'intègre également à KMS et vous propose une option de chiffrement de vos ensembles de résultats.
 
Q : Athena est-elle une solution hautement disponible ?
Oui. Amazon Athena est une solution hautement disponible qui exécute des requêtes à l'aide de ressources de calcul situées dans différentes installations, en acheminant correctement les requêtes lorsqu'une installation spécifique n'est pas disponible. Athena utilise Amazon S3 comme banque de données sous-jacente, ce qui garantit des données hautement disponibles et durables. Amazon S3 fournit une infrastructure durable pour stocker les données importantes et est conçu pour offrir une durabilité de 99,999999999 % des objets. Vos données sont stockées de manière redondante sur plusieurs installations et sur plusieurs appareils au sein de chaque installation.
 
Q : Est-il possible d'accorder un accès entre comptes au compartiment S3 d'un autre utilisateur ?
Oui, vous pouvez accorder un accès entre comptes à Amazon S3.

Tarification et facturation

Q : Comment est facturé Amazon Athena ?
Amazon Athena est facturé par requête et les frais sont basés sur la quantité de données analysées par la requête. Vous pouvez stocker les données dans de nombreux formats sur Amazon S3. Les coûts sont moindres lorsque les données sont compressées, partitionnées ou converties à des formats de stockage en colonnes, car vous analysez moins de données. Lorsque les données sont converties à un format en colonnes, Athena lit uniquement les colonnes nécessaires pour traiter la requête. Pour plus d'informations, consultez la page de tarification d'Athena
 
Q : Pourquoi les frais sont-ils moins élevés lorsque j'utilise un format en colonnes ?
Amazon Athena vous facture en fonction de la quantité de données analysées pour chaque requête. Amazon Athena analyse moins de données lorsqu'elles sont compressées. Lorsque vos données sont converties à des formats en colonnes, Athena lit uniquement les colonnes nécessaires pour traiter les données. Le partitionnement des données permet également à Athena de réduire la quantité de données analysées. Cela vous permet à la fois de réduire vos coûts et d'améliorer les performances. Consultez l'exemple de tarification pour plus d'informations.
 
Q : Comment puis-je réduire mes coûts ?
Vous pouvez réduire le coût de vos requêtes de 30 % à 90 % et obtenir de meilleures performances en compressant ou partitionnant vos données, ou en les convertissant à des formats en colonnes. Chacune de ces opérations réduit la quantité de données qu'Amazon Athena doit analyser pour exécuter une requête. Amazon Athena prend en charge Apache Parquet et ORC, deux des formats en colonnes open source les plus utilisés. Vous pouvez vérifier la quantité de données analysées pour chaque requête sur la console Athena.
 
Q : Les requêtes ayant échoué sont-elles facturées par Amazon Athena ?
Non, vous n'êtes pas facturé lorsque les requêtes échouent.
 
Q : Les requêtes annulées sont-elles facturées par Amazon Athena ?
Oui, si vous annulez manuellement une requête, vous êtes facturé pour la quantité de données analysées jusqu'à l'annulation de la requête.
 
Q : Quels sont les autres frais associé à Amazon Athena ?
Amazon Athena interroge les données directement à partir d'Amazon S3 et, par conséquent, vos données sources sont facturées aux tarifs S3. Lorsqu'Amazon Athena exécute une requête, les résultats sont stockés dans le compartiment S3 de votre choix et vous êtes facturé pour ces jeux de résultats conformément aux tarifs S3 standard. Nous vous recommandons de surveiller ces compartiments et d'utiliser des stratégies de cycle de vie pour contrôler la quantité de données conservées.
 
Q : Mon utilisation du catalogue de données AWS Glue sera-t-elle facturée ?
Oui, vous serez facturé séparément pour l'utilisation du catalogue de données AWS Glue. Cliquez ici pour en savoir plus sur la tarification du catalogue de données Glue.
Image de page web
Visiter la page de tarification

Explorez les options de tarification.

En savoir plus 
Image d'inscription au compte
Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite d'AWS. 

S'inscrire 
Image de boîte à outils
Commencer à créer sur la console

Commencez à créer avec Amazon Athena dans AWS Management Console.

Se connecter