Connexion d'Athena à un métastore Apache Hive - 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.

Connexion d'Athena à un métastore Apache Hive

Pour connecter Athena à un métastore Apache Hive, vous devez créer et configurer une fonction Lambda. Pour une implémentation de base, vous pouvez effectuer toutes les étapes requises à partir de la console de gestion Athena.

Note

La procédure suivante nécessite que vous ayez l'autorisation de créer un rôle IAM personnalisé pour la fonction Lambda. Si vous n'êtes pas autorisé à créer un rôle personnalisé, vous pouvez utiliser l'implémentation de référence Athena pour créer une fonction Lambda séparément, puis utiliser la AWS Lambda console pour choisir un rôle IAM existant pour la fonction. Pour plus d’informations, consultez Connexion d'Athena à un métastore Hive en utilisant un rôle d'exécution IAM existant.

Connexion d'Athena à un métastore Hive
  1. Ouvrez la console Athena à l’adresse https://console.aws.amazon.com/athena/.

  2. Si le panneau de navigation de la console n'est pas visible, choisissez le menu d'extension sur la gauche.

    Choisissez le menu d'expansion.
  3. Choisissez Sources de données.

  4. Dans le coin supérieur droit de la console, choisissez Create data source (Créer une source de données).

  5. Sur la page Choose a data sources (Choisir une sources de données), pour Data source (Source de données), choisissez S3 - Apache Hive metastore (S3 - Métastore Apache Hive).

  6. Choisissez Suivant.

  7. Dans la section Data source details (Détails sur la source de données), pour Data source name (Nom de la source de données), saisissez le nom que vous souhaitez utiliser dans vos instructions SQL lorsque vous interrogez la source de données à partir d'Athena. Le nom peut contenir jusqu'à 127 caractères et doit être unique dans votre compte. Il ne peut pas être modifié après sa création. Les caractères valides sont a-z, A-Z, 0–9, _ (trait de soulignement), @ (arobase) et - (trait d'union). Les noms awsdatacatalog, hive, jmx et system sont réservés par Athena et ne peuvent pas être utilisés pour les noms de source de données.

  8. Pour la fonction Lambda, choisissez Create Lambda function, puis Create a new Lambda function dans AWS Lambda

    La AthenaHiveMetastoreFunctionpage s'ouvre dans la AWS Lambda console. La page contient des informations détaillées sur le connecteur.

    La AthenaHiveMetastoreFunctionpage de la AWS Lambda console.
  9. Sous Application settings (Paramètres de l'application), saisissez les paramètres de votre fonction Lambda.

    • LambdaFuncName— Donnez un nom à la fonction. Par exemple, myHiveMetastore.

    • SpillLocation— Spécifiez un emplacement Amazon S3 dans ce compte pour stocker les métadonnées dérivées si la taille de réponse de la fonction Lambda dépasse 4 Mo.

    • HMSUris – Saisissez l'URI de l'hôte de votre métastore Hive qui utilise le protocole Thrift au port 9083. Utilisez la syntaxe thrift://<host_name>:9083.

    • LambdaMemory— Spécifiez une valeur comprise entre 128 Mo et 3 008 Mo. La fonction Lambda se voit allouer des cycles d'UC proportionnels à la quantité de mémoire que vous configurez. La valeur par défaut est 1024.

    • LambdaTimeout— Spécifiez le temps d'exécution d'appel Lambda maximal autorisé en secondes, de 1 à 900 (900 secondes correspondent à 15 minutes). La valeur par défaut est de 300 secondes (5 minutes).

    • VPC SecurityGroupIds — Entrez une liste d'identifiants de groupes de sécurité VPC séparés par des virgules pour le métastore Hive.

    • VPC SubnetIds — Entrez une liste d'ID de sous-réseau VPC séparés par des virgules pour le métastore Hive.

  10. Sélectionnez I acknowledge that this app creates custom IAM roles (Je comprends que cette application crée des rôles IAM personnalisés) puis choisissez Deploy (Déployer).

    Déploiement de l'application de fonction Lambda à partir de la console AWS Lambda .

    Une fois le déploiement terminé, votre fonction apparaît dans votre liste d'applications Lambda. Maintenant que la fonction de métastore Hive a été déployée sur votre compte, vous pouvez configurer Athena pour l'utiliser.

  11. Revenez à la page Enter data sources details (Saisir les détails des sources de données) de la console Athena.

  12. Dans la section Lambda function (fonction Lambda), choisissez l'icône d'actualisation située à côté de la zone de recherche de fonction Lambda. L'actualisation de la liste des fonctions disponibles entraîne l'apparition de la fonction nouvellement créée dans la liste.

  13. Choisissez le nom de la fonction que vous venez de créer dans la console Lambda. L'ARN de la fonction Lambda s'affiche.

  14. (Facultatif) Pour Tags (Identifications), ajoutez des paires clé-valeur à associer à cette source de données. Pour en savoir plus sur les identifications, consultez Étiquetage des ressources Athena.

  15. Choisissez Suivant.

  16. À la page Review and create, vérifiez les détails de la source de données, puis choisissez Create data source (Créer une source de données).

  17. La section Data source details (Détails de source de données) de la page de votre source de données affiche des informations sur votre nouveau connecteur.

    Vous pouvez désormais utiliser le nom de la source de données que vous avez spécifié pour référencer le métastore Hive dans vos requêtes SQL dans Athena. Dans vos requêtes SQL, utilisez l'exemple de syntaxe suivant, en remplaçant hms-catalog-1 par le nom de catalogue que vous avez spécifié précédemment.

    SELECT * FROM hms-catalog-1.CustomerData.customers
  18. Pour plus d'informations sur l'affichage, la modification ou la suppression des sources de données que vous créez, consultez Gestion des sources de données.