Amazon Athena

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

Chiffrement du trafic réseau

Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Pour ce faire, consultez les options détaillées sur la page de documentation Sécurisation de l'accès à la base de données.

Configurer une connexion Amazon Athena

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.
    • Le 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 via des règles de pare-feu. N'ajoutez pas de règles de sécurité au bucket S3 pour l'adresse IP Looker, car cela pourrait bloquer par inadvertance l'accès d'Amazon Athena au bucket S3. (Pour les dialectes autres qu'Amazon Athena, les utilisateurs peuvent limiter l'accès aux données à partir de la couche réseau à l'aide d'une liste d'autorisation d'adresses IP, comme décrit sur la page de documentation Sécurisation de l'accès à la base de données.)

    • Vous devez savoir où se trouvent les données de votre instance Amazon Athena. Le nom de la région se trouve en haut à droite de la console Amazon.

  2. Dans la section Admin de Looker, sélectionnez Connections (Connexions), puis cliquez sur Add Connection (Ajouter une connexion).

  3. Saisissez les informations de connexion :

    • Name (Nom) : spécifiez le nom de la connexion. C'est ainsi que vous ferez référence à la connexion dans les projets LookML.
    • Dialect (Dialecte) : sélectionnez Amazon Athena.
    • Host (Hôte) et Port : spécifiez le nom de l'hôte et le port comme décrit dans la documentation Athena sur le format de l'URL JDBC. L'hôte doit être un point de terminaison Amazon valide (par exemple, athena.eu-west-1.amazonaws.com), et le port doit rester à 443. Vous trouverez une liste à jour des points de terminaison compatibles avec Athena sur cette page de référence générale AWS.
    • Database (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 traite cette base de données comme base de données par défaut.
    • Username (Nom d'utilisateur) : spécifiez l'ID de clé d'accès AWS.
    • Password (Mot de passe) : spécifiez la clé d'accès secrète AWS.
    • Enable PDTs (Activer les PDT) : utilisez ce bouton pour activer les tables dérivées persistantes (PDT). L'activation des PDT révèle des champs PDT supplémentaires et la section PDT Overrides (Remplacements pour les PDT) pour la connexion.
    • Temp Database (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 Additional JDBC parameters (Paramètres JDBC supplémentaires). Consultez la section Spécifier votre bucket S3 pour la sortie des résultats de requête et les PDT sur cette page.
    • Max number of PDT builder connections (Nombre maximal de connexions de PDT builder) : spécifiez le nombre de compilations PDT simultanées possibles sur cette connexion. Si vous définissez une valeur trop élevée, cela peut avoir un impact négatif sur les délais de requête. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
    • Additional JDBC parameters (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 la sortie des résultats de requête et les PDT. Consultez la section Spécifier votre bucket S3 pour la sortie des résultats de requête et les PDT sur cette page.
      • Indicateur pour la diffusion en flux continu des résultats. 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 de l'extraction d'un ensemble de résultats volumineux. Ce paramètre est défini sur 0 par défaut.
      • Paramètres supplémentaires facultatifs à ajouter à la chaîne de connexion JDBC. Consultez la section Paramètres JDBC compatibles sur cette page pour obtenir la liste des paramètres compatibles avec Looker.
    • SSL : ignorez ce champ. Par défaut, toutes les connexions à l'API AWS sont chiffrées.
    • Max connections per node (Nombre maximal de connexions par nœud) : par défaut, cette valeur est définie sur 5. Vous pouvez l'augmenter jusqu'à 20 si Looker est le moteur de requête principal exécuté sur Athena. Pour en savoir plus sur les limites de service, consultez la documentation sur les limites de service Athena. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
    • Connection Pool Timeout (Délai avant 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 défini sur 120 secondes. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
    • SQL Runner Precache (Préchargement de l'Exécuteur SQL) : désélectionnez cette option si vous préférez que l'Exécuteur SQL charge les informations de la table uniquement lorsqu'une table est sélectionnée. Pour en savoir plus, consultez la page de documentation 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 effectuer de conversion de fuseau horaire. Pour en savoir plus, consultez la page de documentation Utiliser les paramètres de fuseau horaire.

Pour vérifier que la connexion a réussi, cliquez sur Test (Tester). Pour obtenir des informations sur la résolution des problèmes, consultez la page de documentation Tester la connectivité de la base de données.

Pour enregistrer ces paramètres, cliquez sur Connect (Se connecter).

Spécifier votre bucket S3 pour la sortie des résultats de requête et les PDT

Utilisez le champ Additional JDBC parameters (Paramètres JDBC supplémentaires) de la page Connections (Connexions) pour configurer le chemin d'accès au bucket S3 que Looker utilisera pour stocker la sortie des résultats de requête, 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 une autre façon de configurer la propriété S3OutputLocation d'Amazon Athena, qui est requise pour les connexions JDBC Athena. Pour en savoir plus et obtenir la liste de toutes les options de pilote JDBC disponibles, consultez la documentation Athena sur les options de pilote JDBC.

Dans le champ Additional JDBC parameters (Paramètres JDBC supplémentaires), spécifiez le paramètre s3_staging_dir au format suivant :

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

Où :

  • <s3-bucket> correspond au nom du bucket S3.
  • <output-path> correspond au chemin d'accès dans lequel Looker écrira la sortie des résultats de requête.

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

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

`looker_scratch`

Saisissez uniquement 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 Additional JDBC Parameters (Paramètres JDBC supplémentaires).

Considérations concernant le bucket S3

Nous vous recommandons de configurer les cycles de vie des objets Amazon S3 pour supprimer régulièrement les fichiers inutiles dans le bucket S3 spécifié. Voici pourquoi :

  • Athena stocke les résultats de requête pour chaque requête dans un bucket S3. Consultez la section Interrogation Athena.
  • Si vous avez activé les PDT, lorsque vous en créez une, les métadonnées de la table créée sont stockées dans le bucket S3.

Ressources

Paramètres JDBC compatibles

Pour Amazon Athena, Looker est compatible avec les paramètres JDBC suivants dans le champ Additional JDBC parameters (Paramètres JDBC supplémentaires) pour la connexion. Pour en savoir plus sur ces paramètres, consultez la documentation de votre base de données.

  • ApplicationName
  • AwsCredentialsProviderArguments
  • AwsCredentialsProviderClass
  • AwsRegion
  • Catalog
  • Database
  • EnableResultReuseByAge
  • EndPointOverride
  • LogLevel
  • MaxQueryExecutionPollingInterval
  • maxResultReuseAgeInMinutes
  • MetadataRetrievalMethod
  • MinQueryExecutionPollingInterval
  • OutputLocation
  • password
  • ProxyHost
  • ProxyPort
  • ProxyPWD
  • ProxyUID
  • QueryExecutionPollingIntervalMultiplier
  • Region
  • ResultFetcher
  • ResultReuseByAgeConfiguration
  • s3_staging_dir
  • S3OutputEncOption
  • S3OutputLocation
  • Schema
  • user
  • UseResultsetStreaming
  • WorkGroup

Compatibilité avec les 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 26.10 :

Fonctionnalité Compatibilité
Looker (Google Cloud Core)
Agrégations symétriques
Tables dérivées
Tables dérivées SQL persistantes
Tables dérivées natives persistantes
Vues stables
Arrêt des requêtes
Tableaux croisés dynamiques basés sur SQL
Fuseaux horaires
SSL
Sous-totaux
Paramètres JDBC supplémentaires
Sensibilité à la casse
Type de lieu
Type de liste
Centile
Centile distinct
Afficher les processus dans l'Exécuteur SQL
Décrire la table dans l'Exécuteur SQL
Afficher les index dans l'Exécuteur SQL
Sélectionner 10 dans SQL Runner
Compter dans l'Exécuteur SQL
Expliquer SQL
Identifiants OAuth 2.0
Commentaires contextuels
Regroupement de connexions
Résumés HLL
Reconnaissance d'agrégats
Augmentation de tables PDT
Millisecondes
Microsecondes
Vues matérialisées
Mesures de variation par période
Nombre approximatif d'éléments distincts
Modèles analytiques dans la base de données
Agendas personnalisés

Étapes suivantes

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