Amazon Athena

Looker est compatible avec les connexions à Amazon Athena, un service de requête interactif qui facilite l'analyse des données dans Amazon S3 à l'aide du langage SQL standard. Amazon Athena fonctionne sans serveur. Vous n'avez donc pas d'infrastructure à gérer. Seules les requêtes exécutées vous sont facturées.

Cette page explique comment connecter Looker à une instance Amazon Athena.

  1. Assurez-vous de disposer des éléments suivants :

    • Une paire de clés d'accès Amazon AWS
    • Bucket S3 contenant les données que vous souhaitez interroger dans Looker avec Amazon Athena. Les clés d'accès Amazon AWS doivent disposer d'un accès en lecture/écriture à ce bucket.

      Amazon Athena doit avoir accès à ce bucket S3 via un rôle ou un ensemble d'autorisations, ainsi que par des règles de pare-feu. N'ajoutez pas de règles de sécurité au bucket S3 pour l'adresse IP de Looker, car cela pourrait bloquer par erreur l'accès d'Amazon Athena au bucket S3. (En plus d'Amazon Athena, il est possible que les utilisateurs souhaitent limiter l'accès aux données de la couche réseau à l'aide d'une liste d'autorisation d'adresses IP, comme indiqué sur la page Activer l'accès sécurisé aux bases de données)

    • Vous savez où se trouvent vos données d'instance Amazon Athena. Le nom de la région se trouve en haut à droite de la console Amazon.

  2. Dans la section Administration de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.

  3. Saisissez les informations de connexion:

    • Name (Nom) : spécifiez le nom de la connexion. Vous trouverez ci-dessous la référence à la connexion dans les projets LookML.
    • Dialect: sélectionnez Amazon Athena.
    • Hôte et Port: spécifiez le nom de l'hôte et du port, comme décrit dans la documentation d'Athena sur le format des URL JDBC. L'hôte doit être un point de terminaison Amazon valide (comme athena.eu-west-1.amazonaws.com), et le port doit rester sur 443. La liste la plus récente des points de terminaison compatibles avec Athena est disponible sur cette page de référence générale d'AWS.
    • Base de données: spécifiez la base de données par défaut que vous souhaitez modéliser. Vous pouvez accéder à d'autres bases de données, mais Looker les traite comme des bases de données par défaut.
    • Nom d'utilisateur: spécifiez l'ID de la clé d'accès AWS.
    • Password (Mot de passe) : spécifiez la clé d'accès secrète AWS.
    • Activer les tables dérivées persistantes: utilisez ce bouton pour activer les tables dérivées persistantes. L'activation des tables dérivées persistantes affiche les champs supplémentaires des PDT ainsi que la section Remplacements pour les tables dérivées persistantes de la connexion.
    • Base de données temporaire: spécifiez le nom du répertoire de sortie dans votre bucket S3 dans lequel vous souhaitez que Looker écrive vos PDT. Le chemin d'accès complet à votre répertoire de sortie doit être spécifié dans le champ Autres paramètres JDBC. Consultez la section Spécifier le bucket S3 pour la sortie des résultats de requête et les tables dérivées persistantes de cette page.
    • Nombre maximal de connexions du générateur PDT: spécifiez le nombre de générations de PDT simultanées possibles sur cette connexion. Définir une valeur trop élevée peut avoir un impact négatif sur le temps d'interrogation. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
    • Paramètres JDBC supplémentaires: spécifiez des paramètres supplémentaires pour la connexion :
      • Le paramètre s3_staging_dir correspond au bucket S3 que Looker doit utiliser pour le résultat des requêtes et les tables dérivées persistantes. Pour en savoir plus, consultez la section Spécifier le bucket S3 pour les résultats des requêtes et les tables dérivées persistantes de cette page.
      • Indicateur pour les résultats de streaming. Si la règle athena:GetQueryResultsStream est associée à votre utilisateur Athena, vous pouvez ajouter ;UseResultsetStreaming=1 à la fin de vos paramètres JDBC supplémentaires pour améliorer considérablement les performances d'extraction de l'ensemble de résultats à grande échelle. Ce paramètre est défini sur 0 par défaut.
      • Paramètres supplémentaires facultatifs à ajouter à la chaîne de connexion JDBC.
    • SSL: ignorer. Par défaut, toutes les connexions à l'API AWS sont chiffrées.
    • Nombre maximal de connexions par nœud: la valeur par défaut est 5. Vous pouvez augmenter ce nombre jusqu'à 20 si Looker est le moteur de requêtes principal s'exécutant sur Athena. Consultez la documentation sur les limites de service d'Athena pour en savoir plus. Pour en savoir plus, consultez la page Connecter Looker à votre base de données.
    • Expiration du pool de connexions: spécifiez le délai avant expiration du pool de connexions. Par défaut, le délai avant expiration est de 120 secondes. Pour en savoir plus, consultez la page Connecter Looker à votre base de données.
    • Préchargement d'exécuteur SQL: désélectionnez cette option si vous préférez que l'exécuteur SQL ne charge les informations de table que lorsqu'une table est sélectionnée. Pour en savoir plus, consultez la page Connecter Looker à votre base de données.
    • Database Time Zone (Fuseau horaire de la base de données) : spécifiez le fuseau horaire utilisé dans la base de données. Laissez ce champ vide si vous ne souhaitez pas convertir les fuseaux horaires. Pour en savoir plus, consultez la page Utiliser les paramètres de fuseau horaire.

Pour vérifier que la connexion a réussi, cliquez sur Tester. Pour en savoir plus sur le dépannage, consultez la page de test de la connectivité de la base de données.

Pour enregistrer ces paramètres, cliquez sur Connecter.

Spécifier votre bucket S3 pour la sortie des résultats de requête et les tables dérivées persistantes

Utilisez le champ Paramètres JDBC supplémentaires de la page Connexions pour configurer le chemin d'accès au bucket S3 que Looker utilisera pour stocker les résultats des requêtes, et pour spécifier le nom du répertoire de sortie dans le bucket S3 dans lequel vous souhaitez que Looker écrive les PDT. Spécifiez ces informations à l'aide du paramètre s3_staging_dir.

Le paramètre JDBC s3_staging_dir est un autre moyen de configurer la propriété S3OutputLocation Amazon Athena, qui est requise pour les connexions JDBC Athena. Pour en savoir plus, consultez la documentation d'Athena sur les options du pilote JDBC, ainsi que la liste de toutes les options de pilote JDBC disponibles.

Dans le champ Autres paramètres JDBC, spécifiez le paramètre s3_staging_dir au format suivant:

`s3_staging_dir=s3://<s3-bucket>/<output-path>`

Où :

  • <s3-bucket> est le nom du bucket S3.
  • <output-path> est le chemin d'accès où Looker écrira les résultats des requêtes.

La paire de clés d'accès AWS doit disposer d'autorisations en écriture pour le répertoire <s3-bucket>.

Pour configurer le répertoire dans lequel Looker écrira les tables dérivées persistantes, saisissez le chemin d'accès du répertoire dans le bucket S3 ci-dessus dans le champ Temp Database (Base de données temporaire). Par exemple, si vous souhaitez que Looker écrive les tables dérivées persistantes dans s3://<s3-bucket>/looker_scratch, saisissez ce qui suit dans le champ Base de données temporaire:

`looker_scratch`

Ne saisissez que le chemin d'accès au répertoire. Looker obtient le nom du bucket S3 à partir du paramètre s3_staging_dir que vous saisissez dans le champ Paramètres JDBC supplémentaires.

Remarques sur les buckets S3

Nous vous recommandons de configurer les cycles de vie des objets Amazon S3 pour qu'ils nettoient régulièrement les fichiers inutiles dans le bucket S3 spécifié. Les raisons sont les suivantes:

  • Athena stocke les résultats de chaque requête dans un bucket S3. Consultez la section Requêtes Athena.
  • Si vous avez activé les PDT, les métadonnées sur la table créée sont stockées dans le bucket S3 lorsqu'une PDT est créée.

Ressources

Débogage

Amazon fournit des options de pilote JDBC LogLevel et LogPath pour déboguer les connexions. Pour les utiliser, ajoutez ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log à la fin du champ Paramètres JDBC supplémentaires, puis testez à nouveau la connexion.

Si Looker héberge l'instance, l'assistance Looker ou votre analyste doivent récupérer ce fichier pour continuer le débogage.

Prise en charge de fonctionnalités

Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.

Amazon Athena est compatible avec les fonctionnalités suivantes à partir de Looker 23.8:

Caractéristique Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt des requêtes
Oui
Pivots basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Non
Paramètres JDBC supplémentaires
Oui
Sensible à la casse
Oui
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Non
Processus d'affichage de l'exécuteur SQL
Non
Table "Décrire" de l'exécuteur SQL
Oui
Index d'émissions SQL Runner
Non
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Non
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Oui
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Non
Millisecondes
Oui
Microsecondes
Non
Vues matérialisées
Non
Nombre approximatif distinct
Oui

Étapes suivantes

Une fois la connexion à la base de données terminée, configurez les options d'authentification.