Apache Hive

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

Voici quelques remarques concernant la compatibilité de Looker avec les différentes versions d'Apache Hive :

  • Looker est compatible avec les connexions à Apache Hive 2.3+ et Apache Hive 3.1.2+ :
    • Pour Apache Hive 2.3+, Looker est compatible au niveau de l'intégration.
    • Pour Apache Hive 3.1.2+, Looker ne peut s'intégrer pleinement aux bases de données Apache Hive 3 que sur les versions ultérieures à 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 entraînait des temps d'analyse extrêmement longs pour le SQL généré par Looker.
  • Looker n'est pas compatible avec 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. Pour ce faire, consultez les options détaillées sur la page Sécurisation de l'accès à la base de données de la documentation.

Introduction

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 Thrift (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 s'attend donc à fonctionner avec un moteur SQL interactif. Si Hive s'exécute sur MapReduce (hive.execution.engine est défini sur mr), Hive renverra les résultats de la requête trop lentement pour être pratique.

Looker a été testé avec Hive sur Tez (hive.execution.engine=tez), mais il est é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 les tables dérivées persistantes (PDT) dans Looker à l'aide d'une connexion Hive, créez un schéma de travail que Looker pourra utiliser. 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 fonctionnalités suivantes dans le schéma de travail :

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

Testez cela avec un client JDBC avant de tenter de créer des 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 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 Paramètres JDBC supplémentaires de la page Paramètres de connexion.

À l'aide des attributs utilisateur, il est possible que les requêtes de différents utilisateurs ou de différents groupes d'utilisateurs soient placées dans différentes files d'attente. Pour ce faire, créez un attribut utilisateur nommé, par exemple, queue_name, puis, dans le champ Paramètres JDBC supplémentaires , ajoutez les éléments suivants :

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

Vous pouvez également utiliser cette option 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 Connections (Connexions), puis cliquez sur Add Connection (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 Connexion de Looker à votre base de données. Voici quelques-uns des paramètres :

    • Name (Nom) : spécifiez le nom de la connexion. C'est ainsi que vous ferez référence à la connexion dans les projets LookML.
    • Host (Hôte) : spécifiez le nom d'hôte.
    • Port : spécifiez le port de la base de données.
    • Database (Base de données) : spécifiez le nom de la base de données.
    • Username (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.
    • Enable PDTs (Activer les PDT) : 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 PDT supplémentaires et la section PDT Overrides (Remplacements de PDT).
    • Temp Database (Base de données temporaire) : spécifiez le nom du schéma de travail créé dans la section Tables dérivées persistantes (PDT) de cette page de documentation.
    • Max number of PDT builder connections (Nombre maximal de connexions du générateur de PDT) : 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 temps de requête. Pour en savoir plus, consultez la page de documentation Connexion de Looker à votre base de données.
    • Additional JDBC parameters (Paramètres JDBC supplémentaires) : ajoutez des paramètres JDBC supplémentaires. Pour obtenir la liste des paramètres compatibles, consultez la section Paramètres JDBC compatibles sur cette page.
    • Maintenance Schedule (Programme de maintenance) : spécifiez une expression cron qui indique quand Looker doit vérifier les groupes de données et les tables dérivées persistantes. Pour en savoir plus sur ce paramètre, consultez la documentation Programme de maintenance.
    • SSL : cochez cette case pour utiliser les connexions SSL.
    • Verify SSL (Vérifier le protocole SSL) : cochez cette case pour vérifier le nom d'hôte.
    • Max connections per node (Nombre maximal de connexions par nœud) : vous pouvez conserver la valeur par défaut indiquée. Pour en savoir plus, consultez la page de documentation Connexion de Looker à votre base de données.
    • Connection Pool Timeout (Délai d'attente avant expiration du pool de connexions) : vous pouvez conserver la valeur par défaut indiquée. Pour en savoir plus sur ce paramètre, consultez la section Délai d'attente avant expiration du pool de connexions de la page de documentation Connexion de Looker à votre base de données.
    • SQL Runner Precache (Préchargement de SQL Runner) : pour que SQL Runner ne précharge pas les informations d'une table et les charge uniquement lorsque la table est sélectionnée, désélectionnez cette option. Pour en savoir plus sur ce paramètre, consultez la section Préchargement de SQL Runner de la page de documentation Connexion de 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.
  4. 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.

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

Paramètres JDBC compatibles

Pour Apache Hive, Looker est compatible avec les paramètres JDBC suivants dans le champ Paramètres JDBC supplémentaires de la connexion. Pour en savoir plus sur ces paramètres, consultez la documentation de votre base de données.

  • fetchSize
  • httpPath
  • keyStorePassword
  • password
  • principal
  • serviceDiscoveryMode
  • ssl
  • tez.queue.name
  • transportMode
  • twoWay
  • user
  • zooKeeperNamespace

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.

Apache Hive 2.3+

À partir de Looker 26.6, Apache Hive 2.3+ est compatible avec les fonctionnalités suivantes :

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 de SQL Runner
Décrire la table de SQL Runner
Afficher les index de SQL Runner
Sélectionner 10 de SQL Runner
Compter de SQL Runner
Expliquer SQL
Identifiants OAuth 2.0
Commentaires de contexte
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
Agendas personnalisés

Apache Hive 3.1.2+

À partir de Looker 26.6, Apache Hive 3.1.2+ est compatible avec les fonctionnalités suivantes :

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 de SQL Runner
Décrire la table de SQL Runner
Afficher les index de SQL Runner
Sélectionner 10 de SQL Runner
Compter de SQL Runner
Expliquer SQL
Identifiants OAuth 2.0
Commentaires de contexte
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
Agendas personnalisés

Étapes suivantes

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