Looker prend en charge 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. Comme Amazon Athena est sans serveur, vous n'avez aucune infrastructure à gérer. Seules les requêtes exécutées vous sont facturé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. Envisagez l'une des options décrites sur la page de documentation Activer l'accès sécurisé à la base de données.
Configurer une connexion Amazon Athena
Cette page explique comment connecter Looker à une instance Amazon Athena.
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 par le biais d'un rôle ou d'un ensemble d'autorisations, ainsi que par les 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 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 de la couche réseau à l'aide d'une liste d'autorisation d'adresses IP, comme décrit sur la page de documentation Activer l'accès sécurisé à la base de données.)
La connaissance de l'emplacement de vos données d'instance Amazon Athena Le nom de la région se trouve en haut à droite de la console Amazon.
Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
Saisissez les détails de la connexion:
- Name (Nom) : indiquez le nom de la connexion. C'est ainsi que vous vous référerez à la connexion dans les projets LookML.
- Dialecte: sélectionnez Amazon Athena.
- Host (Hôte) et Port: spécifiez le nom de l'hôte et du port comme décrit dans la documentation Athena sur le format d'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 sur443
. La liste à jour des points de terminaison compatibles avec Athena est disponible sur cette page de référence générale AWS. - Base de données: spécifiez la base de données par défaut que vous souhaitez modéliser. Il est possible d'accéder à d'autres bases de données, mais Looker la considère comme la base 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.
- Activer les tables dérivées persistantes: activez ce bouton pour activer les tables dérivées persistantes (PDT). L'activation des tables PDT affiche des champs PDT supplémentaires et la section PDT Overrides (Remplacements PDT) pour la connexion.
- Base de données temporaire: indiquez le nom du répertoire de sortie de votre bucket S3 dans lequel Looker doit écrire vos tables PDT. Le chemin d'accès complet à votre répertoire de sortie doit être spécifié dans le champ Paramètres JDBC supplémentaires. Consultez la section Spécifier votre bucket S3 pour la sortie des résultats de requête et les tables PDT sur cette page.
- Nombre maximal de connexions du générateur de tables PDT: spécifiez le nombre de compilations de tables PDT simultanées possibles sur cette connexion. Définir cette valeur trop élevée peut avoir un impact négatif sur la durée des requêtes. 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
est le bucket S3 que Looker doit utiliser pour la sortie des résultats de requête et les tables PDT. Consultez la section Spécifier votre bucket S3 pour les résultats de requête et les tables PDT de cette page. - Indicateur pour afficher les résultats sous forme de flux. 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 d'un ensemble de résultats volumineux. Ce paramètre est défini sur0
par défaut. - Paramètres supplémentaires facultatifs à ajouter à la chaîne de connexion JDBC.
- Le paramètre
- 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 cette valeur jusqu'à 20 si Looker est le principal moteur de requêtes exécuté contre Athena. Consultez la documentation sur les limites du service Athena pour en savoir plus sur les limites des services. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
- 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é-cache de l'exécuteur SQL) : désélectionnez cette option si vous préférez que SQL Runner 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 convertir le fuseau horaire. Pour en savoir plus, consultez la page de documentation Utiliser les paramètres de fuseau horaire.
Pour vérifier que la connexion est établie, cliquez sur Test (Tester). Consultez la page de documentation Tester la connectivité de la base de données pour obtenir des informations de dépannage.
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 PDT
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 de la requête, et pour spécifier le nom du répertoire de sortie du bucket S3 dans lequel vous souhaitez que Looker écrive des tables 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é Amazon Athena S3OutputLocation
, qui est requise pour les connexions JDBC Athena. Consultez la documentation d'Athena sur les options des pilotes JDBC pour en savoir plus et obtenir la liste de toutes les options de pilotes JDBC disponibles.
Dans le champ Paramètres JDBC supplémentaires, spécifiez le paramètre s3_staging_dir
en respectant le 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 dans lequel Looker écrira la sortie des résultats de la requête.
La paire de clés d'accès AWS doit disposer d'autorisations en écriture sur le répertoire
<s3-bucket>
.
Pour configurer le répertoire dans lequel Looker enregistrera les tables PDT, saisissez le chemin d'accès du répertoire dans le bucket S3 dans le champ Base de données temporaire.
Par exemple, si vous souhaitez que Looker écrive les tables PDT dans s3://<s3-bucket>/looker_scratch
, saisissez ceci dans le champ Base de données temporaire:
`looker_scratch`
Ne saisissez que le chemin d'accès du 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.
Considérations relatives au bucket S3
Nous vous recommandons de configurer les cycles de vie des objets Amazon S3 afin d'éliminer régulièrement les fichiers inutiles dans le bucket S3 spécifié. Cela peut être dû à plusieurs raisons:
- Athena stocke les résultats de chaque requête dans un bucket S3. Consultez la page Interroger Athena.
- Si les tables PDT sont activées, lors de la création d'une table PDT, les métadonnées concernant la table créée sont stockées dans le bucket S3.
Ressources
- Documentation Amazon Athena
- Console Amazon Web Services pour Athena (nécessite une connexion AWS)
- Documentation de référence sur Amazon Athena SQL et HiveQL
Déboguer des modèles
Amazon fournit des options de pilotes JDBC LogLevel
et LogPath
pour le débogage des 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 devront récupérer ce fichier pour poursuivre 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 prend en charge les fonctionnalités suivantes à partir de Looker 24.10:
Sélection | 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 |
Suppression des requêtes | Oui |
Tableaux croisés dynamiques basés sur SQL | Oui |
Fuseaux horaires | Oui |
SSL | Oui |
Sous-totaux | Non |
Paramètres supplémentaires JDBC | 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 de description de l'exécuteur SQL | Oui |
Index d'affichage de l'exécuteur SQL | Non |
SQL Runner Select 10 | Oui |
Nombre d'exécuteurs SQL | Oui |
SQL Explain | Non |
Identifiants OAuth | Non |
Commentaires sur le contexte | Oui |
Pooling des connexions | Non |
HLL Sketches | 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 établie, configurez les options d'authentification.