Débuter avec la ruche

Installation de Hive (linux)

Commencez par télécharger la dernière version stable depuis https://hive.apache.org/downloads.html

-> Décompressez maintenant le fichier avec

$ tar -xvf hive-2.x.y-bin.tar.gz

-> Créer un répertoire dans le /usr/local/ avec

$ sudo mkdir /usr/local/ruche

-> Déplacez le fichier à la racine avec

$ mv ~/Downloads/hive-2.x.y /usr/local/hive

-> Modifier les variables d’environnement pour hadoop et hive dans .bashrc

$ gedit ~/.bashrc

comme ça

exporter HIVE_HOME=/usr/local/hive/apache-hive-2.0.1-bin/

exporter PATH=$PATH:$HIVE_HOME/bin

export CLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:.

export CLASSPATH=$CLASSPATH:/usr/local/hive/apache-hive-2.0.1-bin/lib/*:.

-> Maintenant, démarrez hadoop s’il n’est pas déjà en cours d’exécution. Et assurez-vous qu’il est en cours d’exécution et qu’il n’est pas en mode sans échec.

$ hadoop fs -mkdir /utilisateur/ruche/entrepôt

Le répertoire “warehouse” est l’emplacement pour stocker la table ou les données liées à la ruche.

$ hadoop fs -mkdir /tmp

Le répertoire temporaire “tmp” est l’emplacement temporaire pour stocker le résultat intermédiaire du traitement.

-> Définir les autorisations de lecture/écriture sur ces dossiers.

$ hadoop fs -chmod g+w /user/hive/warehouse

$ hadoop fs -chmod g+w /user/tmp

-> Lancez maintenant HIVE avec cette commande dans la console

$ ruche

Exemple de nombre de mots dans Hive

Fichier Docs (fichier d’entrée)

Mary avait un petit agneau

sa toison était blanche comme neige

et partout où Marie est allée

l’agneau était sûr d’aller.

Requête de la ruche

CREATE TABLE FILES (line STRING);

LOAD DATA INPATH 'docs' OVERWRITE INTO TABLE FILES;

CREATE TABLE word_counts AS
SELECT word, count(1) AS count FROM
(SELECT explode(split(line, ' ')) AS word FROM FILES) w
GROUP BY word
ORDER BY word;

Sortie de la table word_counts dans Hive

Marie, 2

avait, 1

un,1

petit,1

agneau,2

son,1

toison, 1

était, 2

blanc,1

comme,1

neige,1

et 1

partout,1

que,1

allé, 1

le,1

bien sûr, 1

à,1

allez, 1

Installation de Hive avec Metastore externe sous Linux

Conditions préalables:

1.Java 7 2. Hadoop (Reportez-vous [ici] [1] pour l’installation de Hadoop) 3. Serveur et client MySQL

Installation:

Étape 1 : Téléchargez la dernière version de l’archive tar de Hive à partir de la page [téléchargements][2].

Étape 2 : Extrayez l’archive téléchargée (Hypothèse : L’archive est téléchargée dans $HOME)

tar -xvf /home/username/apache-hive-x.y.z-bin.tar.gz

Étape 3 : Mettre à jour le fichier d’environnement (~/.bashrc)

export HIVE_HOME=/home/username/apache-hive-x.y.z-bin
export PATH=$HIVE_HOME/bin:$PATH

sourcez le fichier pour définir les nouvelles variables d’environnement.

source ~/.bashrc

Étape 4 : Téléchargez le connecteur JDBC pour mysql depuis [ici][3] et extrayez-le.

tar -xvf mysql-connector-java-a.b.c.tar.gz

Le répertoire extrait contient le fichier jar du connecteur mysql-connector-java-a.b.c.jar. Copiez-le dans la lib de $HIVE_HOME

cp mysql-connector-java-a.b.c.jar $HIVE_HOME/lib/

Configuration:

Créez le fichier de configuration de la ruche hive-site.xml sous le répertoire $HIVE_HOME/conf/ et ajoutez les propriétés liées au métastore suivantes.

<configuration>
   <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://localhost/hive_meta</value>
      <description>JDBC connect string for a JDBC metastore</description>
   </property> 
   
   <property>
      <name>javax.jdo.option.ConnectionDriverName</name>    
      <value>com.mysql.jdbc.Driver</value>
      <description>Driver class name for a JDBC metastore</description>
   </property> 
   
   <property>
       <name>javax.jdo.option.ConnectionUserName</name> 
       <value>mysqluser</value>
       <description>username to use against metastore database</description>
   </property> 
   
   <property>
       <name>javax.jdo.option.ConnectionPassword</name> 
       <value>mysqlpass</value>
       <description>password to use against metastore database</description>
   </property> 

   <property>
       <name>datanucleus.autoCreateSchema</name>
       <value>false</value> 
   </property> 

   <property>
       <name>datanucleus.fixedDatastore</name>
       <value>true</value>
   </property>
</configuration>

Mettez à jour les valeurs de MySQL “username” et “password” en conséquence dans les propriétés.

Créez le schéma Metastore :

Les scripts de schéma metastore sont disponibles sous $HIVE_HOME/scripts/metastore/upgrade/mysql/

Connectez-vous à MySQL et sourcez le schéma,

mysql -u username -ppassword

mysql> create database hive_meta;
mysql> use hive_meta;
mysql> source hive-schema-x.y.z.mysql.sql;
mysql> exit;

Métastore de démarrage :

hive --service metastore

Pour l’exécuter en arrière-plan,

nohup hive --service metastore &

Démarrage de HiveServer2 : (à utiliser si nécessaire)

hiveserver2

Pour l’exécuter en arrière-plan,

nohup hiveserver2 metastore &

Remarque : Ces exécutables sont disponibles sous $HIVE_HOME/bin/

Relier:

Utilisez soit hive, beeline ou [Hue][4] pour vous connecter à Hive.

Hive CLI est obsolète, l’utilisation de Beeline ou Hue est recommandée.

Configurations supplémentaires pour Hue :

Mettez à jour cette valeur dans $HUE_HOME/desktop/conf/hue.ini

[beeswax] 
    hive_conf_dir=/home/username/apache-hive-x.y.z-bin/conf

[1] : https://www.wikiod.com/fr/hadoop/premiers-pas-avec-hadoop#Installation ou configuration sous Linux [2] : https://hive.apache.org/downloads.html [3] : https://dev.mysql.com/downloads/connector/j/ [4] : https://www.wikiod.com/fr/hadoop/teinte#Installation de Hue dans Ubuntu