Vous êtes sur la page 1sur 37

Etape1: Télecharger Apache HIVE:

Nous allons naviguer au site officiel de Hive et rediriger vers les téléchargements :

Cliquez sur le lien hypertexte "Télécharger une version maintenant !"

 "Download a release now!"

 Cliquez sur le lien hypertexte "https://dlcdn.apache.org/hive/".


 Cliquez sur le lien hypertexte "hive-3.1.3/" pour avoir la version stable.

 Copier le lien de apache-hive-3.1.3-bin.tar.gz.

 Exécuter la commande wget lien copié.


 Vérifier que le fichier est téléchargé par ls.

 Changer le chemin de fichier à un dossier dans home.

 Émerger vers le nouveau chemin.

Et vérifier

 Extraire le fichier :

Vérifier aussi à l’aide de ls :

 On accéde au fichier bashrc pour effectuer les modifications nécessaires.


 On ajoute les lignes de code au fichier bashrc et enregistrer les.

Enregistrez les modifications et quittez l'éditeur de texte par CTRL+O

Si error suivante:

Si vous ne parvenez pas à ouvrir le fichier ~/.bashrc avec un éditeur de texte, vous pouvez utiliser un
autre éditeur ou une autre commande pour le modifier. Voici un exemple utilisant la commande echo
pour ajouter l'instruction d'exportation nécessaire :

 Cette commande ajoutera l'instruction d'exportation à la fin du fichier ~/.bashrc. Après avoir
exécuté cette commande, vous pouvez réessayer la commande source pour appliquer les
changements:

Etape2: Créer le répertoire "warehouse"(« entrepôt ») dans


HDFS.

Utilisez les commandes HDFS ci-dessous pour créer /tmp et /user/hive/warehouse


(alias hive.metastore.warehouse.dir) et définissez-les chmod 777 avant de pouvoir
Créez une table dans Hive.
 Vérifiez que les processus HDFS sont en cours d'exécution.
 Démarrer les processus HDFS.

Vérifier en cours une fois leur démarrage:

 créez un dossier pour tmp afin que chaque fois que vous exécutez une requête
Hive, elle utilise le dossier temporaire pour stocker les informations de
métadonnées intermédiaires.

Si ce warning survenue :

Si vous souhaitez continuer et créer le répertoire même s'il existe déjà, vous pouvez
utiliser l'option -p avec la commande hdfs dfs -mkdir. Cette option garantit que la
commande n'échoue pas si le répertoire existe déjà et crée les répertoires parents
manquants :

Cette commande créera le répertoire /tmp dans HDFS s'il n'existe pas, et ne produira
pas d'erreur si le répertoire est déjà présent.
 Définir l'autorisation pour le dossier tmp.

 Créer le dossier pour hive utilisé à stocker les données.

Étape 3 : Configurer Hive avec MySQL en tant que Metastore


Metastore est l’un des services pour HIVE.

 Installez MySQL.

Mise à jour avant installation :

Installer maintenant :
Jusqu’à finalement avoir done!

Vérifiant l’installation comme suivant :

 Vérifier que le service de mysql est démarré.

 Configurez l'utilisateur root.

 Créer DATABASE metastore


 L’utiliser.

 Créer utilisateur.

 Donner les autorisations nécessaires.

 Chasser les priviliges et sortir aprés.

 Ouvrir dossier de configurations conf.

 Créer un fichier pour configuration

Naviguer vers le chemin de fichier:

Vérifier:
Voici le résultat:

 On ajoute Hadoop chemin au fichier :


 On fait visit au site suivant.
https: //dev.mysql.com/downloads/connector/j/ (in .tar.gz format).

On choisie L’OS comme suivant :


Soit ceci.
Ou plus simplement :
On sélecte le TAR option pour télécharger le suivant est:
Click sur ‘’no thanks...’’ et copier lien.

Naviguer au chemin approprié :

On est dans le chemin suivante.

On se localise maintenant dans:

 Télécharger le connector de mysql.


 Vérifier son installation

Puis:

Vérifier la présence de Java:

On accédé au dossier:

Copier au chemin /usr/share/java/


Et puis vers le chemin autre aussi :

Vérifier que ça existe:

Cela donne une erreur:

On ajoute verbose pour corriger l’error:

Si error est resté :

Downloading Apache Derby

Vérifier son installation:


On extrait :

Extraction est bien faite :

Copie de fichiers dans le répertoire /usr/local/derby


Nous devons copier depuis le super utilisateur « su - ». Les commandes suivantes
sont utilisées pour copier les fichiers du répertoire extrait vers le répertoire
/usr/local/derby :

Setting up environment for Derby

Vous pouvez configurer l'environnement Derby en ajoutant les lignes suivantes au


fichier ~/.bashrc :
La commande suivante est utilisée pour exécuter le fichier ~/.bashrc :

Créer un répertoire pour stocker Metastore

Créez un répertoire nommé data dans le répertoire $DERBY_HOME pour stocker les
données Metastore.

L'installation du Derby et la configuration environnementale sont maintenant


terminées.

Step x : Configuring Metastore of Hive


Configurer Metastore signifie spécifier à Hive où la base de données est stockée.
Vous pouvez le faire en modifiant le fichier hive-site.xml, qui se trouve dans le
répertoire $HIVE_HOME/conf.

Tout d'abord, copiez le fichier modèle à l'aide de la commande suivante :

Modifiez hive-site.xml et ajoutez les lignes suivantes entre les balises


<configuration> et </configuration> :

Comme suivant et enregistrer.


Créez un fichier nommé jpox.properties :

et ajoutez-y les lignes suivantes.

Voila.
Nettoyer ce fichier de caractères spéciaux.

Copie de fichiers dans le répertoire /usr/local/hive.

Configuration de l'environnement pour Hive


Vous pouvez configurer l'environnement Hive en ajoutant les lignes suivantes au
fichier ~/.bashrc :
La commande suivante est utilisée pour exécuter le fichier ~/.bashrc.

Suivant :
Edit the hive-env.sh file by appending the following line:

1/

Step x: Verifying Hive Installation


Avant d'exécuter Hive, vous devez créer le dossier /tmp et un dossier Hive distinct
dans HDFS. Ici, nous utilisons le dossier /user/hive/warehouse. Vous devez définir
l'autorisation d'écriture pour ces dossiers nouvellement créés, comme indiqué ci-
dessous :

Revenir au chemin .

 h
 h


Fix error de slf4j:

Par rm :

Fix error de hive-site.xml

Delete lines of mysql configuration in file


Fix this error:
Et puis le changer java 11 à 8 .

Avant :

Verifier le chemin exact :

Aprés:

Ajouter au hive aussi :


Et dans bashrc aussi / avec source

Aprés redemeatrre les processus


after restarting Hadoop, try running Hive again to see if the issue is resolved.
Replace /path/to/hive with the actual path to your Hive installation.
Then :

Herre we go

Question 0:
Use update , delete , drop , bucket

1. Before performing the create, delete, update table we should enable the ACID property using the below parameters on Hive prompt.

1. hive>set hive.support.concurrency=true;

2. hive>set hive.enforce.bucketing=true;

3. hive>set hive.exec.dynamic.partition.mode=nonstrict;

4. hive>set hive.compactor.initiator.on=true;

5. hive>set hive.compactor.worker.threads=1;

6. hive>set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;

-- Alter the table to enable ACID properties and change file format to ORC
ALTER TABLE employee SET TBLPROPERTIES ('transactional'='true', 'orc.compress'='ZLIB');

-- Add new columns for ACID compliance (these will be used internally)
ALTER TABLE employee ADD COLUMNS (writeid INT, row__id STRING, delta__12345 STRING);

Question 10:
-- Collect statistics on the table "employes"
ANALYZE TABLE entreprise.employes COMPUTE STATISTICS;
-- Retrieve statistics for the table "employes"
DESCRIBE EXTENDED entreprise.employes;
Additionally, you can use the following command to view specific statistics for the table:

SHOW TABLE EXTENDED LIKE 'entreprise.employes';

Question 8:
Partition the employee table based upon the salary range.(not supported)
Définition du HIVE :
Qu'est-ce que Hive?

Hive est un entrepôt de données(Data warehouse) pour le


Big Data et un outil ETL développée sur le framework
Apache Hadoop, Hive offre une prise en charge de la
lecture, de l'écriture et de la gestion de grands ensembles
de données stockés sur le système de fichiers Hadoop
(HDFS).

Usage de Hive ?

Un outil ETL (Extract, Transform, Load) et d'entreposage


de données (Data warehouse)est une solution logicielle
conçue pour :

 Extraction: Extraire des données depuis différentes


sources;telles que des bases de données, des fichiers
plats, des API, des applications, etc. Cela implique la
récupération des données brutes à partir de ces
sources.

 Transformation: Les transformer selon les besoins


spécifiques de l'entreprise.Les transformations peuvent
inclure le nettoyage des données, la conversion de
formats, l'enrichissement des données, la fusion de
données provenant de différentes sources, etc.
 Chargement: Puis les charger dans un entrepôt de
données ou un autre système de stockage approprié.
Ce processus de chargement peut varier en fonction du
modèle d'entrepôt de données choisi(en colonnes ou
relationnel)

=> Ces outils sont essentiels pour l'intégration, la


consolidation et l'analyse des données provenant de
diverses sources au sein d'une organisation.

=> Quelques exemples d'outils ETL et d'entreposage de


données populaires incluent Apache NiFi, Talend,
Informatica, Microsoft SQL Server Integration Services
(SSIS), Apache Spark, et d'autres.

Histoire d'Apache Hive :

L'invention d'Apache Hive a été réalisée par Joydeep Sen


Sarma et Ashish Thusoo pendant leur passage chez
Facebook, où leur équipe d'ingénierie comptait un grand
nombre de personnes compétentes en SQL.

Ils ont tous deux réalisé que pour tirer le meilleur parti de
Hadoop, ils devraient écrire des tâches MapReduce assez
complexes. C'est alors qu'ils ont élaboré un plan pour
créer un outil capable de prendre en charge un langage
SQL tout en ayant la capacité de programmation en
arrière-plan pour fonctionner sur le framework Hadoop.
C'est ainsi que Hive est né.

Facebook gère le cluster Hive-Hadoop qui stocke plus de


3 pétaoctets de données, et quotidiennement, il charge
environ 16 téraoctets de données. Plusieurs entreprises
telles qu'IBM, Amazon, Yahoo, Netflix utilisent Hive et le
développent continuellement.

(un pétaoctet équivaut à 1 024 téraoctets, et un téraoctet


équivaut à 1 024 gigaoctets. Ainsi, 3 pétaoctets
représentent une quantité extrêmement importante de
données, dépassant largement le téraoctet et le gigaoctet.

En d'autres termes, le cluster Hive-Hadoop de Facebook


gère un volume de données massif, )

Prérequis :

Une compréhension de base du langage SQL,

du langage Java (car Apache Hive SQL peut être intégré


à Java.)

et des commandes Linux.

Caractéristiques importantes de Hive :

• Familier : des centaines d'utilisateurs uniques peuvent


interroger simultanément les données en utilisant un
langage familier aux utilisateurs de SQL.
 Intégration avec Hadoop : Hive est intégré à
l'écosystème Hadoop, ce qui signifie qu'il peut tirer parti
de la scalabilité et de la tolérance aux pannes fournies
par Hadoop.

• Évolutif : à mesure que la variété et le volume des


données augmentent, il est possible d'ajouter davantage
de machines peu coûteuses au cluster sans réduction
correspondante des performances.
Extensibilité : Hive prend en charge des extensions pour
des fonctionnalités spécifiques via des UDF (User-Defined
Functions) pour répondre à des besoins particuliers de
traitement des données.
Optimisation des requêtes : Hive optimise les requêtes
en convertissant les requêtes SQL en tâches MapReduce,
permettant ainsi de traiter efficacement les données
réparties sur un cluster Hadoop.

LIMITATIONS D'APACHE HIVE :


Apache Hive présente la liste suivante de limitations.
 Problèmes de traitement OLTP : Apache Hive n'est pas
destiné au traitement des transactions en ligne (OLTP:
signifie "Online Transaction Processing").

(La mention "Apache Hive n'est pas destiné au traitement


des transactions en ligne (OLTP)" indique que Hive n'est
pas conçu pour gérer efficacement les opérations
transactionnelles en temps réel. Au lieu de cela, Hive est
principalement utilisé pour l'analyse de données à grande
échelle et est adapté aux opérations de type batch plutôt
qu'aux transactions en temps réel.

)
 Pas de mises à jour et suppressions : Hive ne prend
pas en charge les mises à jour et les suppressions.
Cependant, il prend en charge la réécriture ou l'ajout
de données.
 Support limité des sous-requêtes : Hive ne prend pas
en charge les sous-requêtes.
 Pas de support pour les vues matérialisées : Hive ne
prend pas en charge les vues matérialisées.
(Une vue matérialisée est un objet de base de données
qui stocke les résultats d'une requête (query) dans une
table physique. Les vues matérialisées sont différentes
des vues de base de données classiques qui sont
virtuelles et tirent leurs données des tables sous-jacentes
et ne stockent pas physiquement les données.)
 Latence élevée : La latence des requêtes Apache Hive
est généralement très élevée.

Hive architecture:

Les éléments majeurs de l'architecture d'Apache Hive sont les suivants.


 Metastore : Ce composant d'Apache Hive est utilisé pour stocker les métadonnées des objets
(telles que leur emplacement, les détails du schéma et contient également des informations sur la
partition du cluster pour suivre la progression de l'ensemble de données.)
 Driver : La tâche du pilote d'Apache Hive est de créer une session et de commencer l'exécution
des déclarations reçues de l'utilisateur final, tout en surveillant le cycle de vie de l'exécution.
 Compilateur : La tâche du compilateur d'Apache Hive est de compiler la requête HiveQL et de la
convertir en un plan d'exécution afin qu'elle puisse être exécutée par Hadoop MapReduce.
 Optimiseur : L'optimiseur d'Apache Hive est utilisé pour effectuer l'optimisation.
 Exécuteur : L'exécuteur d'Apache Hive démarre une fois que les tâches de compilation et
d'optimisation sont terminées. L'exécuteur travaille avec le gestionnaire de tâches pour exécuter
une tâche sur un cluster Hadoop.
 Serveur Thrift : La tâche du serveur Thrift d'Apache Hive est de fournir une interaction entre les
clients externes et Hive en utilisant les protocoles JDBC ou ODBC.
 Hive CLI COMMAND LINE est un outil en ligne de commande qui offre une interface pour exécuter
des requêtes HiveQL.

l’interaction Hive/Hadoop:
Pour illustrer le fonctionnement de Hive et son architecture, nous allons décortiquer l’exécution
d’une requête Hive. En effet, l’interaction Hive/Hadoop s’effectue selon les trois étapes suivantes
:

Vous aimerez peut-être aussi