Apache Hive

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

Introduction

Looker est conçu pour se connecter à 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 le port 10000.

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

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 dans Looker à l'aide d'une connexion Hive, créez un schéma de travail à utiliser par Looker. 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 à gratter:

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

Faites un test avec un client JDBC avant 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 Additional Params (Paramètres supplémentaires) de la page Connection Settings (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 Additional Params (Paramètres supplémentaires) de la page Connection Settings (Paramètres de connexion).

Grâce aux attributs utilisateur, il est possible que les requêtes de différents utilisateurs ou groupes d'utilisateurs appartiennent à des files d'attente distinctes. Pour ce faire, créez un attribut utilisateur nommé queue_name, puis ajoutez les éléments suivants dans le champ Paramètres 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.

Ajout de la connexion

Dans la section Admin de Looker, sélectionnez Connections (Connexions), puis cliquez sur Add Connection (Ajouter une connexion).

Fournissez les informations de connexion (consultez la page de documentation Connecter Looker à votre base de données pour plus d'informations):

  • Name (Nom) : spécifiez le nom de la connexion. C'est ainsi que vous vous référerez à la connexion dans les projets LookML.
  • Dialect : spécifiez le dialecte "Apache Hive 2", "Apache Hive 2.3+" ou "Apache Hive 3.1.2+".

    Pour Apache Hive version 3.1.2 ou ultérieure, Looker ne peut s'intégrer totalement 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 pour les versions 2.4.0 à 3.1.2 d'Hive qui a entraîné des temps d'analyse extrêmement longs pour le code 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.

  • 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.

  • Tables dérivées persistantes : cochez cette case pour activer les tables dérivées persistantes. Ce paramètre affiche le champ Temp Database et la colonne PDT Overrides.

  • Base de données temporaire : spécifiez le nom du schéma de travail créé dans la section PDT ci-dessus.

  • Max PDT Builder Connections (Connexions au PDT maximales) : spécifiez le nombre de builds PDT simultanés possibles sur cette connexion. Définir une valeur trop élevée peut avoir un impact négatif sur les temps de requête. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.

  • Paramètres supplémentaires: spécifiez d'autres paramètres de chaîne JDBC.

  • PDT et planification de maintenance des groupes de données: 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 sur la PDT et la maintenance des groupes de données.

  • SSL: cochez cette option pour utiliser les connexions SSL.

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

  • Nombre maximal de connexions : ce paramètre peut être conservé sur la valeur par défaut. Pour en savoir plus sur ce paramètre, consultez la section Max Connections (Connexions maximales) de la page de documentation Connecter Looker à votre base de données.

  • Connection Pool Timeout : ce paramètre peut conserver la valeur par défaut. Pour en savoir plus sur ce paramètre, consultez la section Connection Pool Timeout de la page de documentation Connecter Looker à votre base de données.

  • Préchargement de l'exécuteur SQL : décochez cette option pour que l'exécuteur SQL ne précharge pas les informations de la table et pour qu'elles le chargent uniquement lorsqu'une table est sélectionnée. Pour en savoir plus sur ce paramètre, consultez la section Prétraitement 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 les fuseaux horaires. Pour en savoir plus, consultez la page Utiliser les paramètres de fuseau horaire.

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.

Dans la dernière version de Looker, Apache Hive 2 est compatible avec les fonctionnalités Looker suivantes:

Dans la dernière version de Looker, Apache Hive 2.3+ est compatible avec les fonctionnalités Looker suivantes:

Dans la dernière version de Looker, Apache Hive 3.1.2+ est compatible avec les fonctionnalités Looker suivantes:

Étapes suivantes

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