FAQ sur Amazon Athena

Questions d'ordre général

Athena est un service d'analyse interactif qui facilite l'analyse de données dans Amazon Simple Storage Service (S3) à l'aide de SQL. Athena est un service sans 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 ; le service accède directement aux données stockées dans Amazon S3. Amazon Athena pour SQL utilise Trino et 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, Apache ORC, Apache Parquet et Apache Avro. Athena pour Apache Spark prend en charge Python et vous permet d'utiliser Apache Spark, un système de traitement distribué à code open-source utilisé pour les charge de travail de type big data. Pour commencer, connectez-vous à la console de gestion Athena et commencez à interagir avec vos données en utilisant l’éditeur de requête ou les blocs-notes.

Grâce à Athena, vous pouvez analyser les données stockées dans des sources de données S3 et 30-plus, y compris des sources de données sur site ou d'autres systèmes cloud. Vous pouvez utiliser Athena pour exécuter des analytiques interactives avec SQL ANSI ou Python sans avoir à consolider ou charger les données dans Athena. Athena peut traiter des jeux de données non structurés, semi-structurés ou structurés. Les exemples incluent CSV, JSON, Avro, ou les formats de données en colonnes comme Parquet et ORC. Amazon Athena pour SQL s'intègre à Amazon QuickSight pour visualiser vos données ou créer des tableaux de bord. Vous pouvez également utiliser 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

Pour commencer à utiliser Athena, il vous suffit de vous connecter à la console de gestion AWS pour Athena et de créer votre schéma en écrivant des instructions sur le Langage de définition de données (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 de S3 et il n'est donc pas nécessaire de les charger.

Amazon Athena pour SQL

Vous pouvez accéder à Amazon Athena pour SQL via la console de gestion AWS, AWS SDK et CLI, ou un pilote ODBC ou JDBC. Vous pouvez exécuter des requêtes et ajouter des tables ou des partitions par programmation à l'aide du pilote ODBC ou JDBC.

Athena pour SQL utilise Trino 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. Avec le moteur SQL Amazon Athena version 3 intégré dans Trino, nous continuons à améliorer les performances et fournir de nouvelles fonctionnalités, similaires à notre approche sur le moteur Amazon Athena version 2 intégré dans Presto. L'un des aspects les plus passionnants de la v3 est sa nouvelle approche de l'intégration continue à la gestion des logiciels open source, qui permettra aux clients de rester à jour dans les projets Trino et PrestoDB. Notre objectif est de rester dans les 60 à 90 jours suivant le lancement de Trino en open source. L'équipe de développement Athena contribue activement aux correctifs de bugs et aux améliorations de la sécurité, de la capacité de mise à l'échelle, des performances et des fonctionnalités de ces bases de code open source, afin que tous ceux qui utilisent TrinoPresto, et Apache Iceberg puissent profiter des contributions de l'équipe.

Athena pour SQL utilise un catalogue de données AWS Glue 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 où AWS Glue est disponible, vous pouvez mettre à niveau votre système pour utiliser le catalogue de données avec Athena. Dans les régions où AWS Glue n'est pas disponible, Athena utilise un catalogue interne.

 

Vous pouvez modifier le catalogue à l'aide d'instructions DDL ou de la console de gestion AWS. Tous les schémas que vous définissez sont automatiquement enregistrés, sauf si vous les supprimez explicitement. Athena utilise la technologie schema-on-read, ce qui signifie que les définitions de table sont appliquées à vos données dans S3 lors de l'application 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 dans S3.

AWS Glue est un service d’extraction, transformation et chargement (ETL) entièrement géré. AWS Glue possède trois composants principaux : 1) un crawler d’indexation 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 d’AWS 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 la mise à niveau du système vers le catalogue de données Glue sont :

  • Référentiel de métadonnées unifiées : AWS Glue est intégré à une large gamme de services AWS. AWS Glue prend en charge les données stockées sur Amazon Aurora, Service base de données relationnelle Amazon (RDS) pour MySQL, Amazon RDS for PostgreSQL, Amazon Redshift et S3 ainsi que les bases de données MySQL et PostgreSQL de votre cloud privé virtuel (VPC) Amazon associées à Amazon Elastic Compute Cloud (EC2). AWS Glue apporte une intégration clé en main à Amazon Athena, Amazon EMR, Amazon Redshift Spectrum ainsi qu'à toute application compatible au metastore Apache Hive.
  • 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.

Pour en savoir plus sur le catalogue de données, consultez le page Web AWS Glue.

Oui. Pour connaître le processus pas à pas, consultez la section Intégration avec AWS Glue du guide de l'utilisateur Amazon Athena.

Pour connaître la disponibilité du service Athena par région, consultez la liste des services AWS par région.

Pour en savoir plus sur les limites de service, consultez le guide de l'utilisateur Amazon Athena : Service Quotas.

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

Athena utilise Apache Hive DDL pour établir les tables. Vous pouvez exécuter des instructions DDL à l'aide de la console Athena, avec 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 couplés à Athena, vous pouvez également utiliser les crawler AWS Glue pour déduire automatiquement les schémas et les partitions. Un crawler 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 avec ces métadonnées. Les crawler peuvent être exécutés régulièrement pour détecter la présence de nouvelles données et de changements aux données existantes, y compris les changements apportés à la définition de la table. Les crawler ajoutent automatiquement de nouvelles tables, de nouvelles partitions aux tables existantes et de nouvelles versions des définitions des tables. Vous pouvez personnaliser les crawler AWS Glue pour classer vos propres types de fichiers. 

Lorsque vous créez un nouveau schéma de table dans Athena, il est stocké dans le catalogue de données et utilisé lors de l'exécution de requêtes, mais il ne modifie pas les données stockées dans S3. Athena utilise une approche appelée schema-on-read, qui vous permet de projeter votre schéma sur vos données lorsque vous exécutez une requête. Cela réduit la nécessité de charger ou transformer les données. Découvrez-en plus sur la création de tables

Athena prend en charge divers formats de données comme CSV, TSV, JSON et les fichiers texte, ainsi que des formats en colonnes open source comme ORC et Parquet. Athena prend également en charge les données compressées utilisant les formats Snappy, Zlib, LZO et GZIP. Vous pouvez améliorer vos performances et réduire vos coûts en comprimant, en partitionnant et en utilisant des formats en colonnes. 

Athena prend en charge des types de données simples comme INTEGER, DOUBLE et VARCHAR, et des types de données complexes comme MAPS, ARRAY et STRUCT.  

Athena utilise Hive uniquement pour le DDL (Langage de Définition des Données) et pour la création/modification et suppression de tables ou de partitions. Pour obtenir une liste complète des instructions prises en charge, consultez la section Instructions DDL du guide de l'utilisateur Amazon Athena. Athena utilise Trino et Presto lors de l'exécution de requêtes SQL sur S3. Vous pouvez exécuter des instructions SQL SELECT compatibles avec ANSI pour interroger vos données sur S3.

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 DDL Hive exigent la spécification d'un SerDe afin d'indiquer au système comment interpréter les données que vous désignez. Athena utilise des SerDe pour interpréter les données lues à partir de S3. Le concept des SerDe d'Athena est identique à celui utilisé dans Hive. Amazon Athena prend en charge les SerDe suivants :

  • Journaux web Apache : « org.apache.hadoop.hive.serde2.RegexSerDe »
  • CSV : « org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe »
  • TSV : « org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe »
  • Délimiteurs personnalisés : « org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe »
  • Parquet : « org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe »
  • Orc : « org.apache.hadoop.hive.ql.io.orc.OrcSerde »
  • JSON : « org.apache.hive.hcatalog.data.JsonSerDe » ou « org.openx.data.jsonserde.JsonSerDe »

Il n'est pas possible d'ajouter votre propre SerDe à 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.

Oui, les fichiers Parquet et ORC créés avec Spark peuvent être lus dans Athena.

Si les données Kinesis Data Firehose sont stockées dans S3, vous pouvez les interroger à l'aide d'Athena. Créez un schéma pour les données dans Athena et commencez l'interrogation. Nous vous recommandons de répartir les données dans des partitions afin d'améliorer les performances. Il est possible d'ajouter des partitions créées par Data Firehose à l'aide d'instructions DDL ALTER TABLE. Découvrez-en plus sur le partitionnement des données

Oui. Athena vous permet de partitionner vos données sur n'importe quelle colonne. Les partitions vous permettent de limiter la quantité de données que chaque requête analyse, ce qui optimise les performances et réduit les coûts. Pour spécifier le schéma de partitionnement, utilisez la clause PARTITIONED BY dans l'instruction CREATE TABLE. Amazon Athena prend en charge les index de partition du catalogue de données AWS Glue pour optimiser la planification des requêtes et réduire leur exécution. Lorsque vous interrogez une table contenant un grand nombre de partitions, Athena récupère les partitions disponibles dans le catalogue de données AWS Glue et détermine celles qui sont requises par votre requête. À mesure que de nouvelles partitions sont ajoutées, le temps nécessaire à la récupération des partitions augmente et peut entraîner une augmentation de la durée d'exécution de la requête. Le catalogue de données AWS Glue permet aux clients de créer des index de partition qui réduisent le temps nécessaire à la récupération et au filtrage des métadonnées de partition sur des tables comportant des dizaines et des centaines de milliers de partitions.

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 après la mise à disposition de nouvelles données dans S3. Si vos données ne sont pas partitionnées, l’ajout des nouvelles données (ou les nouveaux fichiers) au préfixe existant ajoute automatiquement celles-ci à Athena. Découvrez-en plus sur le partitionnement des données.

Oui, 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 de S3, il n'est donc pas nécessaire de les déplacer ou les charger. Définissez votre schéma à l'aide d'instructions DDL, puis commencez immédiatement l'interrogation des données.

Requêtes, formats de données et multicloud

Athena prend en charge les requêtes SQL ANSI. Athena utilise Trino, 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.

Oui. Athena s'intègre à QuickSight, ce qui vous permet d'afficher facilement les données stockées dans S3. 

Oui. Athena inclut un pilote ODBC ou JDBC que vous pouvez utiliser avec d'autres outils de BI et clients SQL. Découvrez-en plus sur l'utilisation d'un pilote ODBC ou JDBC avec Athena. 

Découvrez-en plus sur les fonctions prises en charge par Athena. 

Vous pouvez améliorer les performances d'une requête en compressant, partitionnant ou convertissant vos données à des formats en colonnes. Athena prend en charge des formats de données en colonnes open source tels que Parquet et 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.

Oui. Athena prend 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 vous aident à 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 des 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 envoyée 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. 

Vous pouvez utiliser le kit SDK Query Federation d'Athena pour écrire votre fonction définie par l'utilisateur. Consultez des exemples de fonctions définies par l'utilisateur. Vous pouvez transférer votre fonction sur Lambda, puis l’appeler dans votre requête Athena. Pour commencer, consultez le guide de l'utilisateur Amazon Athena : Création et déploiement d'une fonction définie par l'utilisateur à l'aide de Lambda.

Athena appellera votre fonction définie par l'utilisateur sur un lot de rangées de jeux de données afin d'améliorer les performances. 

Oui, Athena propose plusieurs connecteurs de source de données que vous pouvez utiliser pour analyser les données d'autres fournisseurs de services cloud et d'autres services de stockage dans le cloud sans déplacer ni transformer les données. Des connecteurs de source de données sont disponibles pour plus de 30 sources de données, notamment Azure Synapse, Stockage de lac de données Azure, Google BigQuery et Google Cloud Storage. Découvrez-en plus sur les solutions AWS pour les environnements hybrides et multi-cloud.

Requête fédérée

Si vous avez des données dans des sources autres que S3, vous pouvez utiliser Athena pour interroger les données en place ou créer des pipelines destinés à extraire des données depuis plusieurs sources de données pour les stocker sur S3. Avec Athena Federated Query, vous pouvez exécuter des requêtes SQL portant sur des données stockées dans des sources de données relationnelles, non relationnelles, objets et personnalisées.

Les organisations stockent souvent les données dans une source de données qui correspond aux besoins de leurs applications ou de leurs processus internes. Il peut s’agir de bases de données graphiques, relationnelles, de valeurs clés, de documents, en mémoire, de recherche, de séries chronologiques et de base de données de registre, en plus du stockage des données dans un lac de données S3. L’analytique effectuée sur des sources aussi diverses peut être complexe et chronophage, car elle nécessite généralement l’apprentissage de nouveaux langages de programmation ou de nouvelles constructions de bases de données, et la création de pipelines complexes pour extraire, transformer et dupliquer les données pour les rendre utilisables pour les analyses. Athena réduit cette complexité en vous permettant d’exécuter des requêtes SQL sur les données là où elles se trouvent. 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 sur S3 à des fins d’analyses approfondies.

Athena fournit des connecteurs intégrés à plus de 30 magasins de données AWS, sur site et autres magasins de données cloud populaires, notamment Amazon Redshift, Amazon DynamoDB, Google BigQuery, Google Cloud Storage, Azure Synapse, Stockage de lac de données Azure, Snowflake et SAP Hana. Vous pouvez utiliser ces connecteurs pour réaliser des analyses SQL sur des données structurées, semi-structurées, des objets, des graphiques, des séries chronologiques et d'autres types de stockage de données. Pour connaître la liste des sources prises en charge, voir Utilisation des connecteurs de sources de données Athena.


Vous pouvez également utiliser le SDK du connecteur de données d’Athena pour créer un connecteur de sources de données personnalisé et l’interroger avec Athena. Commencez par consulter la documentation, qui inclut un exemple de mise en œuvre de connecteur.

Avec Athena, vous pouvez utiliser vos connaissances SQL existantes pour extraire des informations à partir de diverses sources de données sans avoir à apprendre un nouveau langage, à développer des scripts pour extraire (et dupliquer) les données ni gérer d'infrastructure. Avec Amazon Athena, vous pouvez effectuer les tâches suivantes:

  • Exécuter une analyse à la demande sur des données réparties sur plusieurs banques de données à l’aide d’un seul outil et d’un seul dialecte SQL.
  • Visualisez les données dans les applications d'informatique décisionnelle qui transmettent des jointures multi-sources complexes au moteur de calcul distribué d'Athena via les interfaces ODBC et JDBC.
  • Concevoir des pipelines ETL en libre-service et des flux de travail de traitement de données basés sur des événements grâce à l’intégration d’Athena avec AWS Step Functions.
  • Unifier différentes sources de données pour produire des fonctionnalités d’entrée riches pour les flux de travail d’entraînement de modèles de ML.
  • Développer des applications de données en tant que produit destinées aux utilisateurs qui font remonter des informations sur les architectures de maillage de données.
  • Prendre en charge les cas d’utilisation d’analytique pendant que votre organisation migre des sources sur site vers AWS.

Athena enregistre les résultats de requête dans un fichier sur S3. Cela signifie que vous pouvez utiliser Athena pour mettre des données fédérées à la disposition d’autres utilisateurs et applications. Si vous souhaitez effectuer une analyse sur les données à l’aide d’Athena sans interroger de manière répétée la source sous-jacente, utilisez la fonction CREATE TABLE AS d’Athena. Sinon, vous pouvez utiliser la fonction UNLOAD d'Athena pour interroger les données et stocker les résultats dans un format de fichier spécifique sur S3.

Un connecteur de sources de données est un code qui s'exécute sur Lambda et qui se traduit entre Athena et votre source de données cible. Lorsque vous utilisez un connecteur de sources de données pour enregistrer un magasin de données auprès d’Athena, vous pouvez exécuter des requêtes SQL sur des magasins de données fédérés. Lorsqu’une requête s’exécute sur une source fédérée, Athena lance la fonction Lambda et la charge d’exécuter les parties de votre requête qui sont spécifiques à la source fédérée. Pour en savoir plus, consultez la section Utilisation de la requête fédérée Amazon Athena du guide de l'utilisateur Amazon Athena. 

Machine learning

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 de régression linéaire 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 des modèles de clustering en k-moyennes pour les aider à déterminer leurs différents segments de clientèle. Les analystes de sécurité peuvent utiliser des modèles de régression logistique pour trouver des anomalies et détecter des incidents de sécurité à partir des journaux.

Athena peut invoquer tout modèle de machine learning déployé sur SageMaker. Vous avez la possibilité d’entraîner votre propre modèle en utilisant vos données propriétaires, ou d’utiliser un modèle pré-entraîné et déployé sur SageMaker. Par exemple, l’analyse de clusters sera probablement entraînée sur vos propres données parce que vous voulez classer les nouveaux enregistrements dans les mêmes catégories que celles que vous avez utilisées pour les enregistrements précédents. Par ailleurs, pour prédire des événements sportifs du monde réel, vous pourriez utiliser un modèle accessible au public, car les données d’entraînement utilisées seraient déjà dans le domaine public. Les prévisions spécifiques à un domaine ou à un secteur d’activité seront généralement entraînées sur vos propres données dans SageMaker, tandis que les besoins de ML indifférenciés pourront utiliser des modèles externes.

Il n'est pas possible d'entraîner et de déployer des 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. Lisez la documentation à propos des étapes d'entraînement sur SageMaker.

Athena ne prend en charge que l'appel de modèles de machine learning déployés sur SageMaker. Nous vous invitons à nous faire part de vos commentaires sur les autres services que vous souhaitez utiliser avec Athena. Envoyez-nous vos commentaires à l'adresse suivante : athena-feedback@amazon.com.

Des améliorations des performances opérationnelles sont constamment ajoutées à nos fonctionnalités et services. Pour améliorer les performances de vos requêtes de machine learning Athena, les lignes sont regroupées lors de l’invocation de votre modèle de machine learning SageMaker, à des fins d’inférence. Pour le moment, les modifications de taille des groupes de lignes fournies par les utilisateurs ne sont pas prises en charge.

Athena fournit des fonctionnalités d'inférence (de prévision) de machine learning assurées par une interface SQL. Vous pouvez également appeler une fonction définie par l'utilisateur Athena pour invoquer une logique de pré- ou post-traitement sur votre ensemble de résultats. Les entrées peuvent inclure n’importe quelle colonne, n’importe quel enregistrements ou n’importe quelle table, et plusieurs appels peuvent être regroupés pour une meilleure capacité de mise à l’échelle. Vous pouvez exécuter des inférences dans les clauses Select ou Filter. Pour en savoir plus, consultez la section Utilisation du machine learning (ML) avec Amazon Athena du guide de l'utilisateur Amazon Athena.

SageMaker prend en charge différents algorithmes de machine learning. Vous pouvez également créer vos modèles propriétaires de machine learning et les déployer sur SageMaker. Par exemple, l’analyse de clusters sera probablement entraînée sur vos propres données parce que vous voulez classer les nouveaux enregistrements dans les mêmes catégories que celles que vous avez utilisées pour les enregistrements précédents. Par ailleurs, pour prédire des événements sportifs du monde réel, vous pourriez utiliser un modèle accessible au public, car les données d’entraînement utilisées seraient dans le domaine public.

Nous pensons que les prévisions spécifiques à un domaine ou à un secteur d’activité seront généralement entraînées sur vos propres données dans SageMaker, tandis que les besoins de ML indifférenciés tels que la traduction automatique utiliseront des modèles externes. 

Sécurité et disponibilité

Amazon Athena prend en charge le contrôle précis des accès avec AWS Lake Formation. AWS Lake Formation vous permet de gérer de manière centralisée les contrôles d'accès et les autorisations pour les ressources du catalogue de données de votre lac de données S3. Vous pouvez appliquer des politiques de contrôle précis des accès dans le cadre des requêtes Athena pour les données stockées dans tous les formats de fichiers comportant des tableaux comme Apache Iceberg, Apache Hudi et Apache Hive. Vous bénéficiez de la souplesse nécessaire pour choisir le tableau et le format de fichier qui sont le plus adaptés à votre cas d'utilisation. Vous profitez d'une gouvernance des données centralisée qui vous permet de sécuriser l'accès aux données dans le cadre de l'utilisation d'Athena. Par exemple, vous pouvez utiliser le format de tableau Iceberg pour stocker les données dans votre lac de données S3 afin de disposer d'une écriture fiable des transactions à l'échelle, ainsi que de filtres de sécurité au niveau de la ligne dans Lake Formation. Ainsi, les analystes de données qui résident dans des pays différents disposent uniquement d'un accès aux données des clients de leur propre pays (afin de répondre aux exigences réglementaires). Cette nouvelle prise en charge étendue pour les formats de fichiers et de tables ne nécessite aucun changement de votre part dans la configuration des politiques de contrôle précis des accès au sein de Lake Formation. elle requiert l'utilisation de la version 3 du moteur Athena, qui offre de nouvelles fonctionnalités ainsi que de meilleures performances des requêtes. Athena vous permet également 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 S3. À l'aide des stratégies IAM, vous pouvez accorder aux utilisateurs IAM un contrôle précis de vos compartiments S3. En contrôlant l'accès aux données sur S3, vous pouvez empêcher les utilisateurs de les interroger à l'aide d'Athena.

Oui, vous pouvez interroger les données chiffrées à l'aide du chiffrement côté serveur (SSE) avec les clés de chiffrement gérées par S3, du SSE avec les clés gérées par AWS Key Management Service (KMS) et du chiffrement côté client (CSE) avec les clés gérées par AWS KMS. Athena s'intègre également à AWS KMS et vous propose une option de chiffrement de vos ensembles de résultats.

Oui. 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 S3 comme banque de données sous-jacente, ce qui garantit des données hautement disponibles et durables. S3 fournit une infrastructure durable pour stocker les données importantes. Vos données sont stockées de manière redondante sur plusieurs installations et sur plusieurs appareils au sein de chaque installation.

Oui, vous pouvez accorder un accès intercompte à S3.

Tarification et facturation

Avec Athena, vous pouvez choisir de payer par requête en fonction des données numérisées ou en fonction du calcul requis pour vos requêtes. Le prix par requête est basé sur la quantité de données analysées, en téraoctets (To), par la requête. Vous pouvez stocker des données dans différents formats sur 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 dont il a besoin pour traiter la requête. Avec la capacité provisionnée, vous payez un prix horaire pour la capacité de traitement des requêtes, et non pour les données analysées. Vous pouvez utiliser la facturation par requête et la facturation basée sur le calcul au sein du même compte. Pour plus d'informations, consultez la page de tarification d’Amazon Athena.

Avec la facturation par requête, Athena facture en fonction de la quantité de données analysées par requête. La compression permet à Athena d'analyser moins de donné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. Pour plus d'informations, consultez la page de tarification d’Amazon Athena.

Vous pouvez réduire les coûts de vos requêtes de 30 % à 90 % et obtenir de meilleures performances en compressant ou en partitionnant vos données ou en les convertissant en des formats en colonnes. Chacune de ces opérations réduit la quantité de données numérisées et le temps nécessaire à l'exécution. Ces opérations sont également recommandées lors de l'utilisation de la capacité provisionnée, car elles réduisent souvent le temps d'exécution d'une requête.

Avec la tarification par requête, vous n'êtes pas facturé pour les requêtes qui échouent.

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.

Athena interroge les données directement à partir de S3. Par conséquent, vos données sources sont facturées aux tarifs S3. Lorsqu'Athena exécute une requête, les résultats sont stockés dans le compartiment S3 de votre choix. Vous êtes alors facturé au tarif standard S3 pour ces ensembles de résultats. Il est recommandé de surveiller ces compartiments et d'utiliser des stratégies de cycle de vie pour contrôler la quantité de données conservées.

Oui. Vous serez facturé séparément pour l'utilisation du catalogue de données. Pour en savoir plus sur la tarification du catalogue de données, consultez la page de tarification d’AWS Glue

Amazon Athena pour Apache Spark

Athena prend en charge le cadre Apache Spark pour fournir aux analystes et ingénieurs de données l'expérience interactive et totalement gérée d'Athena. Apache Spark est un système populaire de traitement distribué à code open source, amélioré pour les charges de travail analytiques rapides sur des données de toute taille, qui offre un riche système de bibliothèques à code open source. Vous pouvez maintenant créer des applications Spark dans des langages expressifs, tels que Python, en utilisant une expérience de blocs-notes simplifiée dans la console Athena ou par le biais des API Athena. Vous pouvez interroger des données provenant de diverses sources, enchaîner plusieurs calculs et visualiser les résultats de leurs analyses. Pour les applications Spark interactives, vous passez moins de temps à attendre et vous êtes plus productif car Athena commence à exécuter les applications en moins d'une seconde. Les clients bénéficient d'une expérience simplifiée et adaptée à Spark qui minimise le travail nécessaire pour les mises à jour de version, l'optimisation des performances et l'intégration avec d'autres services AWS.

Utilisez Athena pour Apache Spark lorsque vous avez besoin d'une expérience analytique interactive, entièrement gérée, et d'une intégration étroite avec les services AWS. Vous pouvez utiliser Spark pour effectuer des analyses dans Athena en utilisant des langages familiers et expressifs tels que Python et l'environnement croissant des paquets Spark. Il est également possible de saisir ses applications Spark par le biais des API d'Athena, ou dans des blocs-notes simplifiés dans la console Athena, et de commencer à exécuter des applications Spark sous une seconde sans avoir à configurer et régler l'infrastructure sous-jacente. Comme les capacités de requête SQL d'Athena, Athena offre une expérience Spark entièrement gérée et s'occupe automatiquement de l'optimisation des performances, de la configuration des machines et de l'application des correctifs logiciels, de sorte que vous n'avez pas à vous soucier des mises à jour des versions. De plus, Athena est étroitement intégré à d'autres services d'analyse du système AWS, comme le catalogue de données. Par conséquent, vous pouvez créer des applications Spark sur les données des lacs de données S3 en faisant référence aux tables de votre catalogue de données.

Pour commencer à utiliser Athena pour Apache Spark, vous pouvez lancer un bloc-notes dans la console Athena ou démarrer une session à l'aide de l'interface de la ligne de commande (CLI) AWS ou de l'API Athena. Dans votre bloc-notes, vous pouvez commencer à entrer et à fermer des applications Spark en utilisant Python. Athena s'intègre également au catalogue de données, de sorte que vous pouvez travailler avec toute source de données référencée dans le catalogue, y compris les données directement dans les lacs de données S3. En utilisant les blocs-notes, vous pouvez maintenant interroger des données provenant de diverses sources, enchaîner plusieurs calculs et visualiser les résultats de leurs analyses. Sur vos applications Spark, vous pouvez vérifier l'état d'exécution et examiner les journaux et l'historique d'exécution dans la console Athena.

Athena pour Apache Spark est basé sur la version stable Spark 3.2. En tant que moteur entièrement géré, Athena fournit une version personnalisée de Spark et gère automatiquement la plupart des mises à jour de versions Spark de manière rétrocompatible sans aucune intervention de votre part.

Vous ne payez que pour le temps pendant lequel votre application Apache Spark tourne. Vous êtes facturé à l'heure en fonction du nombre d'unités de traitement de données (ou DPU) utilisées pour exécuter votre application Apache Spark. Une seul DPU fournit 4 vCPU et 16 Go de mémoire. Vous serez facturé par tranche d'une seconde, arrondie à la minute la plus proche.

Lorsque vous démarrez une session Spark, soit en démarrant un bloc-notes sur la console Athena, soit en utilisant l'API Athena, deux nœuds sont provisionnés pour votre application : un nœud de bloc-notes qui agira comme serveur pour l'interface utilisateur du bloc-notes et un nœud de pilote Spark qui coordonne cette application Spark et communique avec tous les composants master Spark. Vous serez facturé par Athena pour la durée de la session du nœud de pilote et de composant master. Amazon Athena fournit les blocs-notes sur la console en tant qu'interface utilisateur pour la création, l'envoi et l'exécution des applications Apache Spark et vous offre ceci sans coût supplémentaire. Athena ne facture pas les nœuds de bloc-notes utilisés au cours de la session Spark.

Quand utiliser Athena plutôt que d'autres services de big data

Les services de requête tels que Athena, les entrepôts des 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 les charges de travail de création de rapports et d'aide à la décision des entreprises, en particulier lors de l'utilisation d’un SQL complexe avec plusieurs 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 Apache 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 de calcul, de mémoire, de stockage et d'application afin d'améliorer vos exigences d'analyse. Athena offre un moyen simplifié d'exécuter des requêtes interactives sur des données stockées dans S3, sans avoir à configurer ou gérer de serveurs.

Amazon Athena et Amazon Redshift Serverless répondent à des besoins et des cas d'utilisation différents même si les deux services sont sans serveur et activent les utilisateurs SQL.

Avec son architecture MPP (Massively Parallel Processing) qui sépare le stockage et le calcul et les capacités d'optimisation automatique menées par le machine learning, un entrepôt des données comme Amazon Redshift, qu'il soit sans serveur ou provisionné, est un excellent choix pour les clients qui ont besoin des meilleures performances en termes de prix à n'importe quelle échelle pour les charges de travail complexes de BI et d'analytique. Redshift est particulièrement adapté pour gérer des analytiques à l'échelle et des jeux de données massifs, structurés et semi-structurés. Il est très performant 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. Redshift offre une intégration profonde avec les services AWS de base de données, d'analytique et de ML afin que les clients puissent accéder aux données en place ou ingérer ou déplacer les données facilement dans l'entrepôt pour des analytiques haute performance, en utilisant des méthodes ETL minimal et sans code. Grâce à des capacités de requêtes fédérées, à Amazon Redshift Spectrum, à l'intégration avec Amazon Aurora, à AWS Data Exchange, aux services de streaming de données, etc., Redshift vous permet d'utiliser les données de multiples sources, de les combiner avec les données présentes dans l'entrepôt et de mener des activités d'analytique et de machine learning sur l'ensemble. Redshift offre à la fois des options provisionnées et sans serveur pour démarrer facilement avec l'analytique sans gestion d'infrastructure.

Athena est bien adapté à l'analyse interactive et à l'exploration des données de votre Amazon Simple Storage Service (S3) ou de toute autre source de données grâce à un cadre de connecteurs extensible (plus de 30 connecteurs prêts à l'emploi pour les applications et les systèmes d'analyse sur site ou dans le cloud) et une syntaxe SQL simple. Amazon Athena s'appuie sur des moteurs et des cadres open-source tels que Spark, Presto et Apache Iceberg, ce qui donne aux clients la possibilité d'utiliser Python ou SQL ou de travailler sur des formats de données ouverts. Si les clients veulent faire de l'analyse interactive en utilisant des cadres et des formats de données open-source, Amazon Athena est un excellent point de départ. Il est complètement sans serveur, ce qui signifie qu'il n'y a aucune infrastructure à gérer ou à configurer. L'ouverture d'Athena améliore la portabilité des données et permet à nos clients de déplacer les données entre différents programmes, différentes applications, et mêmes différents fournisseurs de services cloud. Il a récemment adopté une nouvelle approche de l'intégration continue à la gestion des logiciels open source qui intègre en continu les dernières fonctionnalités des projets Trino, PrestoDB et Apache Iceberg.

Amazon EMR fait bien plus qu'exécuter des requêtes SQL. Avec Amazon EMR, vous pouvez exécuter diverses tâches de traitement de données en augmentation pour des applications, telles que le machine learning (ML), l'analyse graphique, la transformation de données, le streaming de données et pratiquement tout ce que vous pouvez coder. Choisissez Amazon EMR si vous utilisez du code personnalisé pour traiter et analyser des jeux de données volumineux avec les infrastructures de traitement de big data les plus récentes telles que Apache HBase, Spark, Hadoop, ou Presto. Amazon EMR vous permet de contrôler entièrement la configuration de vos clusters et les logiciels installés sur ceux-ci.

Utilisez Athena si vous voulez exécuter des requêtes SQL interactives sur S3 sans avoir à gérer l'infrastructure ou les clusters.

EMR sans serveur est le moyen le plus simple d'exécuter des applications Spark et Hive dans le cloud et est la seule solution Hive sans serveur de l'industrie. Avec EMR sans serveur, vous pouvez éliminer la surcharge opérationnelle d'ajustement, de dimensionnement, de sécurisation, d'application des correctifs et de gestion des clusters, et vous ne payez que les ressources que vos applications utilisent réellement. Grâce à l'exécution optimisée pour les performances d'EMR, vous profitez de performances deux fois plus rapides que celles des solutions open source standard. Vos applications s'exécutent ainsi plus vite et vous réduisez les coûts de calcul. L'exécution optimisée pour les performances d'EMR est 100 % compatible avec les API des solutions open source standard, ce qui vous évite de devoir réécrire vos applications pour les exécuter sur EMR. De plus, vous n'avez pas besoin d'une expertise profonde de Spark pour les activer, car elles sont activées par défaut. EMR offre la possibilité d'exécuter des applications sur des clusters EMR, des clusters EKS ou EMR sans serveur. Les clusters EMR conviennent aux clients qui ont besoin d'un contrôle et d'une flexibilité maximum pour l'exécution de leur application. Avec les clusters EMR, les clients peuvent choisir le type d'instance EC2, personnaliser l'AMI Amazon Linux Image, personnaliser la configuration de l'instance EC2, personnaliser et étendre les cadres open source et installer des logiciels personnalisés supplémentaires sur les instances du cluster. EMR sur EKS convient aux clients qui souhaitent standardiser sur EKS pour gérer les clusters entre les applications ou utiliser différentes versions d'un cadre open source sur le même cluster. EMR sans serveur convient aux clients qui souhaitent éviter de gérer et d'exploiter des clusters et veulent simplement exécuter des applications à l'aide de cadres open source.

Si les clients souhaitent une expérience interactive et immédiate similaire à l'expérience de requêtes basées sur SQL avec Amazon Athena, ils peuvent choisir Amazon Athena pour Apache Spark. L'expérience client dans Athena est optimisée pour les applications interactives avec des temps d'exécution courts et des délais de démarrages inférieurs à la seconde. Amazon Athena gère automatiquement les opérations d'ajustement, de configuration, d'application des correctifs logiciels et de mise à jour sans implication du client. Pour les analystes de données et les développeurs disposant d'une connaissance du langage de programmation PySpark et d'un intérêt dans l'exploration des données et l'exécution immédiate d'analyse interactive, Amazon Athena pour Apache Spark offre une expérience simplifiée.

Oui, Athena prend en charge un grand nombre de formats de données pris en charge par Amazon EMR. Le catalogue de données Athena est compatible avec le metastore Hive. Si vous utilisez Amazon EMR et que vous disposez déjà d'un metastore Hive, exécutez vos instructions DDL sur Athena pour pouvoir commencer l'interrogation des données immédiatement, sans affecter vos tâches Amazon EMR. 

Les requêtes fédérées dans Athena vous offrent un moyen unifié d'exécuter des requêtes SQL sur diverses sources de données relationnelles, non relationnelles et personnalisées.

Les requêtes SQL Athena peuvent appeler les modèles de machine learning déployés sur Amazon SageMaker. Vous pouvez indiquer l'emplacement S3 dans lequel vous souhaitez stocker les résultats des requêtes SQL Athena. 

Tarification d'Amazon Athena
En savoir plus sur la tarification d'Amazon Athena

Découvrez les différentes tarifications proposées par Amazon Athena.

En savoir plus 
Créer un compte AWS
Créer gratuitement un compte

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

S'inscrire 
Commencez à créer des applications avec Amazon Athena
Commencez à créer des applications à l'aide de la console

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

Se connecter