Connexion d’Athena à un metastore 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'avez pas l'autorisation de 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 console AWS Lambda pour choisir un rôle IAM existant pour la fonction. Pour de plus amples informations, consultez Connexion d’Athena à un métastore Hive à l’aide d’un rôle d’exécution IAM existant.
Connexion d'Athena à un métastore Hive
Ouvrez la console Athena à l’adresse https://console.aws.amazon.com/athena/
. Si le panneau de navigation de la console n'est pas visible, choisissez le menu d'extension sur la gauche.
-
Sélectionnez Sources de données et catalogues.
-
Dans le coin supérieur droit de la console, choisissez Create data source (Créer une source de données).
-
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).
-
Choisissez Suivant.
-
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,jmxetsystemsont réservés par Athena et ne peuvent pas être utilisés pour les noms de source de données. -
Pour Lambda function (Fonction Lambda), choisissez Create Lambda function (Créer une fonction Lambda), puis choisissez Create a new Lambda function in AWS Lambda (Créer une nouvelle fonction Lambda dans
La page AthenaHiveMetastoreFunction s'ouvre dans la console AWS Lambda. La page contient des informations détaillées sur le connecteur.
Sous Application settings (Paramètres de l'application), saisissez les paramètres de votre fonction Lambda.
-
LambdaFuncName – Indique le nom de la fonction. Par exemple, myHiveMetastore.
-
SpillLocation – Spécifiez un emplacement Amazon S3 dans ce compte pour contenir les métadonnées de débordement si la taille de la 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 la durée d'exécution maximale autorisée des invocations Lambda en secondes, de 1 à 900 (900 secondes correspondent à 15 minutes). La valeur par défaut est de 300 secondes (5 minutes).
-
VPCSecurityGroupIds – Saisissez une liste séparée par des virgules des ID de groupe de sécurité du VPC pour le métastore Hive.
-
VPCSubnetIds – Saisissez une liste séparée par des virgules des ID de sous-réseau VPC pour le métastore Hive.
-
-
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).
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.
-
Revenez à la page Enter data sources details (Saisir les détails des sources de données) de la console Athena.
-
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.
-
Choisissez le nom de la fonction que vous venez de créer dans la console Lambda. L'ARN de la fonction Lambda s'affiche.
-
(Facultatif) Pour Tags (Identifications), ajoutez des paires clé-valeur à associer à cette source de données. Pour en savoir plus sur les identifications, consultez Balisage des ressources Athena.
-
Choisissez Suivant.
-
À 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).
-
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-1par le nom de catalogue que vous avez spécifié précédemment.SELECT * FROM hms-catalog-1.CustomerData.customers -
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.