Utilisation de la requête fédérée d’Amazon Athena - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de la requête fédérée d’Amazon Athena

Si vos données proviennent d'autres sources que Simple Storage Service (Amazon S3), vous pouvez utiliser la requête fédérée d'Athena pour interroger les données sur place ou créer des pipelines qui extraient les données de plusieurs sources et les stockent dans Simple Storage Service (Amazon S3). La requête fédérée d'Athena vous permet d'exécuter des requêtes SQL sur des données stockées dans des sources de données relationnelles, non relationnelles, objets et personnalisées.

Athena utilise des connecteurs de source de données qui s'exécutent AWS Lambda pour exécuter des requêtes fédérées. Un connecteur de source de données est un morceau de code qui peut traduire des données entre votre source de données cible et Athena. Vous pouvez vous représenter un connecteur comme une extension du moteur de requêtes Athena. Des connecteurs de source de données Athena prédéfinis existent pour les sources de données telles qu'Amazon Logs, CloudWatch Amazon DynamoDB, Amazon DocumentDB et Amazon RDS, ainsi que pour les sources de données relationnelles compatibles JDBC telles que MySQL et PostgreSQL sous licence Apache 2.0. Vous pouvez également utiliser le kit Athena Query Federation SDK pour écrire des connecteurs personnalisés. Pour choisir, configurer et déployer un connecteur de source de données sur votre compte, vous pouvez utiliser les consoles Athena et Lambda ou le AWS Serverless Application Repository. Une fois que vous avez déployé des connecteurs de source de données, le connecteur est associé à un catalogue que vous pouvez spécifier dans les requêtes SQL. Vous pouvez combiner des instructions SQL de plusieurs catalogues et couvrir plusieurs sources de données à l'aide d'une seule requête.

Lorsqu'une requête est envoyée à une source de données, Athena invoque le connecteur correspondant pour identifier les parties des tables qui doivent être lues, gère le parallélisme et réduit les prédicats de filtre. En fonction de l'utilisateur qui soumet la requête, les connecteurs peuvent autoriser ou restreindre l'accès à des éléments de données spécifiques. Les connecteurs utilisent Apache Arrow comme format pour renvoyer les données demandées dans une requête, ce qui permet d'implémenter des connecteurs dans des langages tels que C, C++, Java, Python et Rust. Étant donné que les connecteurs sont traités dans Lambda, ils peuvent être utilisés pour accéder aux données de n'importe quelle source de données du cloud ou sur site accessible depuis Lambda.

Pour écrire votre propre connecteur de source de données, vous pouvez utiliser le kit Athena Query Federation SDK pour personnaliser l'un des connecteurs prédéfinis fournis et gérés par Amazon Athena. Vous pouvez modifier une copie du code source depuis le GitHub référentiel, puis utiliser l'outil de publication Connector pour créer votre propre AWS Serverless Application Repository package.

Note

Il est possible que des développeurs tiers aient utilisé le kit Athena Query Federation SDK pour écrire des connecteurs de sources de données. Pour tout problème de support ou de licence concernant ces connecteurs de sources de données, veuillez vous adresser à votre fournisseur de connecteurs. Ces connecteurs ne sont ni testés ni pris en charge par AWS.

Pour une liste des connecteurs de sources de données écrits et testés par Athena, voir Connecteurs de source de données disponibles.

Pour plus d'informations sur l'écriture de votre propre connecteur de source de données, voir Exemple de connecteur Athena activé. GitHub

Considérations et restrictions

  • Versions du moteur : la requête fédérée d'Athena n'est prise en charge que par la version 2 du moteur Athena et les versions ultérieures. Pour plus d'informations sur les versions du moteur Athena, voir Gestion des versions du moteur Athena.

  • Vues : vous pouvez désormais créer et interroger des vues sur des sources de données fédérées. Les vues fédérées sont stockées dans la source de données sous-jacente AWS Glue, et non dans celle-ci. Pour plus d’informations, consultez Interrogation des vues fédérées.

  • Opérations d'écriture : les opérations d'écriture telles que INSERT INTO ne sont pas pris en charge. Si vous tentez de le faire, le message d'erreur suivant peut s'afficher : This operation is currently not supported for external catalogs (Cette opération n'est actuellement pas prise en charge pour les catalogues externes).

  • Tarification : pour des informations sur la tarification, consultez la rubrique Tarification Amazon Athena.

    Pilote JDBC : pour utiliser le pilote JDBC avec des requêtes fédérées ou un métastore Hive externe, incluez MetadataRetrievalMethod=ProxyAPI dans votre chaîne de connexion JDBC. Pour plus d'informations sur le pilote JDBC, voir Connexion à Amazon Athena avec JDBC.

  • Secrets Manager : pour utiliser la fonction de requête fédérée d’Athena avec AWS Secrets Manager, vous devez configurer un point de terminaison privé Amazon VPC pour Secrets Manager. Pour plus d'informations, consultez la rubrique Création d'un point de terminaison privé VPC Secrets Manager du Guide de l'utilisateur AWS Secrets Manager .

Les connecteurs de source de données peuvent nécessiter l'accès aux ressources suivantes pour fonctionner correctement. Si vous utilisez un connecteur prédéfini, vérifiez les informations relatives au connecteur pour vous assurer que vous avez correctement configuré votre VPC. Assurez-vous également que les principals IAM exécutant des requêtes et créant des connecteurs disposent de privilèges sur les actions requises. Pour plus d’informations, consultez Exemple de politiques d'autorisation IAM pour autoriser la requête fédérée Athena.

  • Simple Storage Service (Amazon S3) : outre l'écriture des résultats des requêtes dans l'emplacement des résultats des requêtes Athena dans Simple Storage Service (Amazon S3), les connecteurs de données écrivent également dans un compartiment de déversement dans Simple Storage Service (Amazon S3). Une connectivité et des autorisations d'accès à cet emplacement Simple Storage Service (Amazon S3) sont requises.

  • Athena : les sources de données ont besoin d'une connectivité vers Athena et vice versa pour vérifier l'état des requêtes et empêcher le surbalayage.

  • AWS Glue Data Catalog : la connectivité et des autorisations sont nécessaires si votre connecteur utilise le catalogue de données pour les métadonnées supplémentaires ou principales.

Vidéos

Regardez les vidéos suivantes pour en savoir plus sur l'utilisation de la requête fédérée d’Athena.

Vidéo : Analyser les résultats d'une requête fédérée dans Amazon Athena sur Amazon QuickSight

La vidéo suivante montre comment analyser les résultats d'une requête fédérée Athena dans Amazon. QuickSight

Vidéo : Gaming Analytics Pipeline

La vidéo suivante montre comment déployer un pipeline de données (Data Pipeline) évolutif sans serveur pour intégrer, stocker et analyser des données de télémétrie provenant de jeux et de services à l'aide de requêtes fédérées Amazon Athena.