Utiliser la requête fédérée 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.

Utiliser la requête fédérée 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). Avec Athena Federated Query, vous pouvez exécuter des SQL requêtes sur des données stockées dans des sources de données relationnelles, non relationnelles, d'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 des sources de données telles qu' CloudWatchAmazon Logs, Amazon DynamoDB, Amazon DocumentDB et RDS Amazon, ainsi que pour des sources SQL de données relationnelles conformes telles que My et Postgre sous licence Apache 2.0. JDBC SQL Vous pouvez également utiliser l'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 SQL requêtes. Vous pouvez combiner SQL des instructions provenant 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 créer votre propre connecteur de source de données, vous pouvez utiliser l'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

Des développeurs tiers ont peut-être utilisé l'Athena Query Federation SDK pour écrire des connecteurs de source 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 de plus amples informations, veuillez consulter Interrogez les 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.

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

  • Secrets Manager — Pour utiliser la fonctionnalité Athena Federated Query avec AWS Secrets Manager, vous devez configurer un point de terminaison VPC privé Amazon pour Secrets Manager. Pour plus d'informations, consultez la section Créer un point de terminaison VPC privé Secrets Manager dans le guide de AWS Secrets Manager l'utilisateur.

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 l'avez VPC correctement configuré. Assurez-vous également que IAM les principaux exécutant des requêtes et créant des connecteurs disposent des privilèges nécessaires pour effectuer les actions requises. Pour de plus amples informations, veuillez consulter Autoriser l'accès à Athena Federated Query : exemples de politiques .

  • 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.

  • Amazon ECR — Les fonctions Lambda du connecteur de sources de données utilisent une ECR image Amazon provenant d'un référentiel AmazonECR. L'utilisateur qui déploie le connecteur doit disposer des autorisations ecr:BatchGetImage etecr:GetDownloadUrlForLayer. Pour plus d'informations, consultez ECRles autorisations Amazon dans le guide du AWS Lambda développeur.

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.