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 concernant 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+, 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 dans les versions 2.4.0 à 3.1.2 de Hive, qui a entraîné des délais 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 renverront 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.

Introduction

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

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

Looker est un outil de requête interactif. Il doit donc fonctionner avec un moteur SQL interactif. Si Hive s'exécute sur MapReduce (hive.execution.engine est défini sur mr), Hive renvoie les résultats de requête trop lentement 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 avec Hive sur Spark. La prise en charge de Spark a été ajoutée à la version 1.1 de Hive. (Looker est compatible avec Hive 1.2.1 et versions ultérieures).

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 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 si aucune authentification n'est utilisée) doit disposer des capacités suivantes dans le schéma fictif:

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

Testez-le avec un client JDBC avant d'essayer de créer des tables PDT 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 la file d'attente dans le champ Paramètres JDBC supplémentaires de la page Paramètres de connexion:

?tez.queue.name=the_bi_queue

D'autres paramètres Hive peuvent être définis de cette manière dans le champ Additional JDBC parameters (Paramètres JDBC supplémentaires) de la page Connection Settings (Paramètres de connexion).

À l'aide d'attributs utilisateur, il est possible d'envoyer des requêtes provenant de différents utilisateurs ou groupes d'utilisateurs 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 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 Dialect (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 de ces paramètres sont décrits ci-dessous:

    • Name (Nom) : indiquez le nom de la connexion. C'est ainsi que vous vous référerez à la connexion dans les projets LookML.
    • Host (Hôte) : spécifiez le nom d'hôte.
    • Port: spécifiez le port de base de données.
    • Base de données: spécifiez le nom de la base de données.
    • Username (Nom d'utilisateur) : indiquez 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: activez ce bouton pour activer les tables dérivées persistantes. Lorsque les tables PDT sont activées, la fenêtre Connexion affiche des paramètres supplémentaires pour les tables PDT ainsi que la section Remplacements PDT.
    • Base de données temporaire: indiquez le nom du nouveau schéma créé dans la section Tables dérivées persistantes (PDT) de cette page de documentation.
    • 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 tout paramètre de chaîne JDBC supplémentaire.
    • Planification de la maintenance des groupes de données et des tables PDT: 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 le planning de maintenance des groupes de données et des tables PDT.
    • SSL: cochez cette option pour utiliser des connexions SSL.
    • Vérifier SSL: vérifiez que le nom d'hôte est validé.
    • Nombre maximal de connexions par nœud: 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 connexions: ce paramètre peut être initialement conservé sur sa valeur par défaut. Pour en savoir plus sur ce paramètre, consultez la section Expiration du pool de connexions de la page de documentation Connecter Looker à votre base de données.
    • Précache de l'exécuteur SQL: pour empêcher SQL Runner de précharger les informations de table et de ne les charger que lorsqu'une table est sélectionnée, décochez cette option. Pour en savoir plus sur ce paramètre, consultez la section Précache de l'exécuteur 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 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 Test (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 et versions ultérieures prennent en charge les fonctionnalités suivantes à partir de Looker 24.10:

Sélection 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
Suppression des requêtes
Oui
Tableaux croisés dynamiques basés sur SQL
Non
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
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
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
Oui
Pooling des connexions
Non
HLL Sketches
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 et versions ultérieures

Apache Hive 3.1.2 et versions ultérieures sont compatibles avec 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
Non
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
Non
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
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
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
Oui
Pooling des connexions
Non
HLL Sketches
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 de vos utilisateurs.