Apache Hive

Cette page contient des informations sur la connexion de Looker à Apache Hive 2.3+ et Apache Hive 3.1.2+.

Notez les points suivants à propos de la prise en charge de Looker pour les différentes versions d'Apache Hive:

  • Looker prend en charge les connexions à Apache Hive 2.3+ et Apache Hive 3.1.2+.
  • Pour Apache Hive 3.1.2 et versions ultérieures, Looker peut s'intégrer entièrement aux bases de données Apache Hive 3 uniquement sur les versions ultérieures à la version 3.1.2. Cela est dû à un problème d'analyse des requêtes sur les versions 2.4.0 à 3.1.2 de Hive qui entraînait des temps d'analyse extrêmement longs pour le code SQL généré par Looker.
  • Looker ne prend pas en charge les connexions à Apache Hive 2. Les requêtes sur les connexions à Apache Hive 2 renvoient une erreur.

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.

Présentation

Looker est conçu pour se connecter à un serveur de base de données à l'aide de 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 écoutera sur le port 10 000.

Looker est un outil de requête interactif. Il est donc censé fonctionner avec un moteur SQL interactif. Si Hive s'exécute 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 prend en charge Hive 1.2.1+).

Tables dérivées persistantes (PDT)

Pour activer les tables dérivées persistantes (PDT) dans Looker à l'aide d'une connexion Hive, créez un schéma entièrement nouveau que Looker pourra utiliser. Voici un exemple de commande permettant de créer un schéma looker_scratch:

 CREATE SCHEMA looker_scratch;

Le compte utilisateur utilisé par Looker pour se connecter à Hive (qui peut être anonyme en l'absence d'authentification) doit disposer des capacités suivantes dans le schéma entièrement nouveau:

  • Créer des tables
  • Modifier les tables
  • Supprimer les tables

Testez-le avec un client JDBC avant d'essayer de créer des PDT avec Hive.

Files d'attente

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

?tez.queue.name=the_bi_queue

Les autres paramètres Hive peuvent être définis de cette façon dans le champ Additional JDBC parameters (Paramètres JDBC supplémentaires) de la page Connection Settings (Paramètres de connexion).

Grâce aux attributs utilisateur, il est possible que les requêtes provenant de différents utilisateurs ou de différents groupes d'utilisateurs soient traitées dans différentes files d'attente. Pour ce faire, créez un attribut utilisateur nommé queue_name, puis, dans le champ Additional JDBC parameters (Paramètres JDBC supplémentaires), ajoutez ce qui suit:

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

Vous pouvez également 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

Pour créer la connexion entre Looker et votre base de données, procédez comme suit:

  1. Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
  2. Sélectionnez Apache Hive 2.3+ ou Apache Hive 3.1.2+ dans le menu déroulant Dialecte.

  3. 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 utiliserez ce nom pour faire référence à la connexion dans les projets LookML.
    • Host (Hôte) : spécifiez le nom d'hôte.
    • Port: indiquez le port de la base de données.
    • Database (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 PDT sont activées, la fenêtre Connection (Connexion) affiche des paramètres de PDT supplémentaires et la section PDT Overrides (Remplacements des tables dérivées persistantes).
    • Temp Database (Base de données temporaire) : spécifiez le nom du schéma entièrement nouveau créé dans la section PDT ci-dessus.
    • Nombre maximal de connexions du générateur de PDT: spécifiez le nombre de compilations de PDT simultanées possibles sur cette connexion. Définir cette valeur sur une 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 tout paramètre de chaîne JDBC supplémentaire.
    • Planification de maintenance des groupes de données et des tables PDT: spécifiez une expression cron qui indique à quel moment Looker doit vérifier les groupes de données et les tables dérivées persistantes. Documentation sur le calendrier de maintenance des groupes de données et des tables dérivées persistantes.
    • SSL: cochez cette option pour utiliser des connexions SSL.
    • Vérifiez le protocole SSL: vérifiez le nom d'hôte.
    • Nombre maximal de connexions par nœud: dans un premier temps, vous pouvez conserver la valeur par défaut de ce paramètre. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.
    • Expiration du pool de connexion: vous pouvez conserver la valeur par défaut de ce paramètre. Pour en savoir plus sur ce paramètre, consultez la section Délai avant expiration du pool de connexion de la page de documentation Connecter Looker à votre base de données.
    • SQL Runner Precache (Précache de l'exécuteur SQL) : décochez cette option pour empêcher l'exécuteur SQL de précharger les informations de la table et de ne charger ces informations que lorsqu'une table est sélectionnée. Pour en savoir plus sur ce paramètre, consultez la section Mise en cache préalable de l'exécuteur SQL de la page de documentation Connecter Looker à votre base de données.
    • 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.
  4. Pour vérifier que la connexion est établie, cliquez sur Tester. Consultez la page de documentation Tester la connectivité de la base de données pour obtenir des informations de dépannage.

  5. 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.3 et versions ultérieures

Apache Hive 2.3+ prend en charge les fonctionnalités suivantes à partir de Looker 24.8:

Sélection Compatible ?
Niveau d'assistance
Intégrer
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 de la requête
Oui
Tableaux croisés dynamiques 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 de description de l'exécuteur SQL
Oui
Afficher les index de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
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 3.1.2+ prend en charge les fonctionnalités suivantes à partir de Looker 24.8:

Sélection 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 de la requête
Oui
Tableaux croisés dynamiques 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 de description de l'exécuteur SQL
Oui
Afficher les index de l'exécuteur SQL
Non
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
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

Après avoir connecté votre base de données à Looker, configurez les options de connexion de vos utilisateurs.