Comment installer et configurer HIVE Metastore avec MYSQL

Qu’est-ce que le métastore HIVE ?

Hive Metastore est un référentiel qui stocke les métadonnées (noms de colonnes, types de données, commentaires, etc.) liées à Apache Hive à l'aide de MySQL ou PostgreSQL. Ce métastore Hive est implémenté à l'aide de tables dans une base de données relationnelle.

Pourquoi utiliser MySQL dans Hive comme Metastore :

  • Par défaut, Hive est livré avec une base de données Derby comme métastore.
  • La base de données Derby ne peut prendre en charge qu'un seul utilisateur actif à la fois
  • Derby n'est pas recommandé dans un environnement de production

Alors le Solution Voici

  • Utilisez MYSQL comme méta-stockage au niveau du backend pour connecter plusieurs utilisateurs à Hive à la fois
  • MYSQL est le meilleur choix pour le métastore autonome

Comment installer et configurer Hive Metastore sur la base de données MySQL

Étape 1) Installez MySQL Server
Dans cette étape, nous allons effectuer deux tâches

  1. Installation du serveur MySQL
  2. Vérification du serveur mysql et de son processus
  1. En utilisant Commande sudo apt-get install mysql-server, nous pouvons télécharger le serveur mysql

Installez MySQL comme indiqué dans la capture d'écran

Installer et configurer Hive Metastore sur la base de données MySQL

  1. Une fois l'installation réussie, MySQL s'exécutera comme indiqué dans la capture d'écran ci-dessous.

Installer et configurer Hive Metastore sur la base de données MySQL

Étape 2) Installer le connecteur Java MySQL
Installer MySQL Java Connecteur. Ceci est destiné aux dépendances Java et à des fins de connexion

Installer et configurer Hive Metastore sur la base de données MySQL

Étape 3) Créer un lien symbolique pour le connecteur
Création d'un lien symbolique pour le connecteur dans le répertoire Hive lib. Il s'agit d'un lien logiciel entre Java et MySql.

Installer et configurer Hive Metastore sur la base de données MySQL

Étape 4) Configuration du stockage MySql dans Hive

Installer et configurer Hive Metastore sur la base de données MySQL

  • Tapez MySql –u root –p suivi du mot de passe
  • Ici –u représente le nom d'utilisateur root, p désigne le mot de passe
  • Après avoir entré la commande ci-dessus, l'utilisateur doit saisir un mot de passe valide, puis cliquer sur Entrée.
  • Ensuite, il entrera en mode shell MySql

Étape 5) Créer un nom d'utilisateur et un mot de passe
Création d'un nom d'utilisateur et d'un mot de passe pour MySql, accordant des privilèges.

Installer et configurer Hive Metastore sur la base de données MySQL

Nous devons exécuter les commandes comme indiqué ci-dessous,

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; 
mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';
mysql>  flush privileges;

Étape 6) Configuration de hive-site.xml

  • Après l'étape 5, attribuez le nom d'utilisateur et le mot de passe à la base de données MySQL et les privilèges accordés.
  • Ici, nous allons configurer certaines propriétés dans Hive pour obtenir une connexion avec la base de données MySQL.

Installer et configurer Hive Metastore sur la base de données MySQL

Installer et configurer Hive Metastore sur la base de données MySQL

À partir de la capture d'écran ci-dessus, nous observons ce qui suitwing. Nous définissons ici 4 propriétés qui pourraient être nécessaires pour établir MYSQL en tant que méta-magasin dans Ruche

Ce sont les suivants:

  1. Cette propriété est destinée à l'URL de connexion. Ici, nous définissons ConnectionURL dans cette propriété. Il agit comme une connexion JDBC et représente également l'emplacement du métastore
  2. Cette propriété concerne le nom du pilote de connexion. Ici mysql.jdbc.Driver est la valeur respectée que nous devons mentionner dans la balise value
  3. Cette propriété est utilisée pour définir le nom de l'utilisateur de connexion. Dans ce document, nous avons défini « hiveguru » comme nom d'utilisateur.
  4. Cette propriété est utilisée pour mentionner le mot de passe de connexion. En cela, nous avons défini le mot de passe comme mot de passe utilisateur.

Une fois les propriétés placées dans hive –site.xml il faut sauvegarder manuellement (Ctrl+S) et fermer le fichier. Après avoir fermé ce fichier, nous devons créer la table Hive et vérifier la table details dans le stockage MySQL.

Placez ce code dans hive-site.xml

site-ruche.xml

<configuration>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
		<description>metadata is stored in a MySQL server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
		<description>MySQL JDBC driver class</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>hiveuser</value>
		<description>user name for connecting to mysql server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>hivepassword</value>
		<description>password for connecting to mysql server</description>
	</property>
</configuration>

Étape 7) Créer une table
Créez la table « guru99 » dans Hive.

Installer et configurer Hive Metastore sur la base de données MySQL

À partir de la capture d'écran ci-dessus, nous pouvons observer ce qui suitwing

  • Création du nom de table « guru99 » avec deux noms de colonnes
  • Les noms de colonnes mentionnés avec leur type de données, l'un étant entier et l'autre étant de type chaîne.

Dans la prochaine étape, nous allons vérifier s'il est stocké dans MySql ou non

Étape 8) Entrez en mode shell MySql

Installer et configurer Hive Metastore sur la base de données MySQL

À partir de la capture d'écran ci-dessus, nous pouvons observer ce qui suitwing

  • Nous devons d’abord utiliser la base de données comme « utiliser le métastore »
  • Une fois qu'il a choisi le méta-magasin, nous pouvons vérifier les tables présentes en utilisant la commande "show" tables comme indiqué dans la capture d'écran.
  • Quelles que soient les tables créées dans Hive, les métadonnées correspondent au fait que les tables sont stockées sous TBLS dans la base de données MySQL.
  • La « table Guur99 » est créée dans Hive, les métadonnées correspondantes sont donc stockées dans MySQL sous TBLS.

Étape 9) Entrez sélectionner * de TBLS
Vérifier si la table créée présente MySQL ou non

Installer et configurer Hive Metastore sur la base de données MySQL

En entrant select * from TBLS, il va afficher les tables que nous avons créées en mode shell Hive

À partir de la capture d'écran ci-dessus, nous pouvons observer ce qui suitwing des choses:

  • Le nom de la table « guru99 » créée dans la ruche peut être affiché dans MySQL mode coque
  • À côté de cela, il fournira également des informations telles que l'heure de création de la table, l'heure d'accès et d'autres propriétés, comme indiqué dans la capture d'écran ci-dessus.