Apache Hive

Cette page contient des informations sur la connexion de Looker à Apache Hive.

Introduction

L'architecture de Looker est la connexion à un serveur de base de données via JDBC. Dans le cas de Hive, il s'agit du serveur d'occasion (HiveServer2). Pour en savoir plus, consultez la documentation Apache.

Par défaut, ce serveur écoute sur le port 10000.

Looker est un outil de requête interactif. Il est donc prévu de fonctionner avec un moteur SQL interactif. Si Hive est exécuté sur MapReduce (hive.execution.engine est défini sur mr), Hive renvoie des résultats de requête trop lents pour être pratiques.

Looker a été testé avec Hive sur Tez (hive.execution.engine=tez), bien qu'il soit également possible d'exécuter Looker sur Hive sur Spark. La compatibilité avec Spark a été ajoutée dans la version 1.1 de Hive. (Looker est compatible avec Hive 1.2.1+.)

Tables dérivées persistantes (PDT)

Pour activer des tables dérivées persistantes dans Looker à l'aide d'une connexion Hive, créez un schéma à gratter que Looker utilisera. Voici un exemple de commande que vous pouvez utiliser pour créer un schéma looker_scratch:

 CREATE SCHEMA looker_scratch;

Le compte utilisateur que Looker utilise pour se connecter à Hive (qui peut être anonyme en l'absence d'authentification) doit disposer des capacités suivantes dans le schéma de travail:

  • Créer des tables
  • Modifier des tables
  • Déposer des tables

Testez-le avec un client JDBC avant de tenter de créer des tables dérivées persistantes avec Hive.

Files d'attente

Si vous souhaitez que les requêtes de Looker soient placées dans une file d'attente spécifique, saisissez le paramètre de nom de file d'attente dans le champ Autres paramètres JDBC de la page Paramètres de connexion:

?tez.queue.name=the_bi_queue

Vous pouvez définir d'autres paramètres Hive de cette manière dans le champ Autres paramètres JDBC de la page Paramètres de connexion.

Grâce aux attributs utilisateur, les requêtes de différents utilisateurs ou groupes d'utilisateurs peuvent arriver dans différentes files d'attente. Pour ce faire, créez un attribut utilisateur nommé queue_name, puis ajoutez les éléments suivants dans le champ Paramètres JDBC supplémentaires:

?tez.queue.name={{ _user_attributes['queue_name'] }}

Vous pouvez l'utiliser pour personnaliser d'autres paramètres hive-site.xml par utilisateur ou par groupe.

Créer la connexion Looker à votre base de données

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

Saisissez les informations de connexion. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données. Certains des paramètres sont décrits ci-dessous:

  • Name (Nom) : spécifiez le nom de la connexion. Vous trouverez ci-dessous la référence à la connexion dans les projets LookML.
  • Dialect : spécifiez le dialecte Apache Hive 2, Apache Hive 2.3 ou version ultérieure, ou Apache Hive 3.1.2 ou une version ultérieure.

    Pour Apache Hive 3.1.2 (ou version ultérieure), Looker ne peut s'intégrer complètement aux bases de données Apache Hive 3 que sur les versions 3.1.2 et ultérieures. Cela est dû à un problème d'analyse des requêtes survenu entre les versions 2.4.0 et 3.1.2 de Hive, qui générait des temps d'analyse extrêmement longs pour le langage SQL généré par Looker.

  • Host (Hôte) : spécifiez le nom d'hôte.

  • Port: spécifiez le port de la base de données.

  • Base de données: spécifiez le nom de la base de données.

  • Nom d'utilisateur: spécifiez le nom d'utilisateur de la base de données.

  • Password (Mot de passe) : spécifiez le mot de passe de l'utilisateur de la base de données.

  • Activer les tables dérivées persistantes: utilisez ce bouton pour activer les tables dérivées persistantes. Lorsque les tables dérivées persistantes sont activées, la fenêtre Connexion affiche les paramètres supplémentaires des tables dérivées persistantes, ainsi que la section Remplacements pour les PDT.

  • Temp Database (Base de données temporaire) : nom du schéma de travail créé dans la section PDT ci-dessus.

  • 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 de chaîne JDBC supplémentaires.

  • Calendrier de maintenance des groupes de données et des tables dérivées persistantes: spécifiez une expression cron qui indique quand Looker doit vérifier les groupes de données et les tables dérivées persistantes. Documentation sur la planification des groupes de données et des PDT.

  • SSL: cochez cette case pour utiliser des connexions SSL.

  • Vérifier le protocole SSL: vérifiez la validation du nom d'hôte.

  • Nombre maximal de connexions par nœud: laissez ce paramètre sur la valeur par défaut. Pour en savoir plus, consultez la page Connecter Looker à votre base de données.

  • Délai d'expiration du pool de connexions: vous pouvez conserver la valeur par défaut initiale de ce paramètre. Pour en savoir plus sur ce paramètre, consultez la section Délai d'expiration du pool de connexions de la page de documentation Connecter Looker à votre base de données.

  • Préchargement d'exécuteur SQL: permet de décocher l'option permettant de ne pas précharger les informations d'une table et de ne les charger que lorsqu'une table est sélectionnée. Pour en savoir plus sur ce paramètre, consultez la section Precache Runner SQL de 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 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.

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.

Apache Hive 2

Apache Hive 2 est compatible avec les fonctionnalités suivantes à partir de Looker 23.8:

Caractéristique Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Non
Agrégations symétriques
Non
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
Non
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
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
Oui
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Non
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

Apache Hive 2.3+

Apache Hive 2.3 et les versions ultérieures sont compatibles avec les fonctionnalités suivantes à partir de Looker 23.8:

Caractéristique Compatible ?
Niveau d'assistance
Intégration
Looker (Google Cloud Core)
Non
Agrégations symétriques
Non
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
Non
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
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
Oui
Exécuteur SQL 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Non
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

Apache Hive 3.1.2+

Apache Hive version 3.1.2 et ultérieures sont compatibles 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
Non
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
Non
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
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
Oui
Identifiants OAuth
Non
Commentaires contextuels
Oui
Pooling de connexions
Non
croquis HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Non
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

Étapes suivantes

Une fois votre base de données connectée à Looker, configurez les options de connexion pour vos utilisateurs.