Vous êtes sur la page 1sur 7

Atelier6 : HIVE-DATA WAREHOUSE

Définition :

• Hive est une infrastructure datawarehouse basé sur Apache hadoop


• Hive est conçu pour permettre un résumé facile des données, des requêtes ad-hoc( requêtes
construite de manière dynamique en fonction des besoins) et l’analyse de gros volumes de données.
• Il fournit SQL qui permet aux utilisateurs de faire facilement des requêtes ad hoc, des résumées et des
analyses de données.
• Il se trouve au-dessus de Hadoop pour faciliter les analyses.
• C’est un outil ETL efficace (Extract, Transform, Load).
• Initialement, Hive a été développé par Facebook, puis Apache Software Foundation l’a repris et l’a
développé en tant que open source sous le nom d’Apache Hive.
• Il est utilisé par différentes sociétés : Amazon, NASA, …
• Il est mieux utilisé pour les taches de data warehouse OLAP (traitement analytique en ligne) c'est-à-
dire utilisé pour la génération de rapport et l’analyse de données (BI).

TP : HIVE
• A partir de l’invite de commandes accéder à Hive :

$hive ;

• Lister les bases existantes :

$show schemas;

$show databases;

• Créer une nouvelle base de données :

$create database students;


$show databases;

• Utiliser la base students :

$use students

• Créer une table:

$CREATE TABLE IF NOT EXISTS cs_students(id int, name String, field String, gpa String)

• Lister les tables crées:

$show tables ;

• Décrire la structure de la table cs_students:

$describe cs_students ;

• Modifier la structure de la table cs_students:

$ALTER TABLE cs_students change gpa gpa double ;

$describe cs_students ;
• Modifier la structure de la table cs_students:

$ALTER TABLE cs_students add columns (city String);

$describe cs_students ;

• Alimenter la table cs_students:

$insert into table students values

(1,’yasyn’,4,’Big Data’),

(2,’Amine’,3,’Big Data’),

(3,’Mariem’,2,’Big Data’),

(4,’Houda’,3,’Big Data’),

(5,’Anas’,3,’Big Data’),

(6,’Rayan’,1,’JEE’),

(7,’Mounir’,2,’Securite’),
• Afficher le contenue de la table cs_students:

$select * from students ;

• Sélectionner les etudiants dont le code du gpa > 3 :

$select * from students where gpa>3 ;

• Créer une vue contenant les étudiants dont le code gpa < 3 :

$CREATE VIEW stud_above_3 AS SELECT * FROM students WHERE gpa < 3 ;

• Afficher le contenu de la vue stud_above_3 :

$SELECT * FROM stud_above_3:

• Supprimer la vue stud_above_3:

$DROP VIEW stud_above_3:

• Utiliser la clause ORDER BY:

$SELECT name, gpa from students ORDER BY name ;

ORDER BY est une fonction d’agrégation qui va faire appel bien sur à Map Reduce comme indiqué dans le
résultat de requête;
• Utiliser la clause GROUP BY:

$SELECT field FROM students GROUP BY field ;

GROUP BY est une fonction d’agrégation qui va faire appel à Map Reduce comme indiqué dans le résultat
de requête;

$SELECT field count(*) FROM students GROUP BY field ;

GROUP BY est une fonction d’agrégation qui va faire appel à Map Reduce comme indiqué dans le résultat
de requête;
Les jointures ;

La clause JOIN est utilisée pour combiner et récupérer les enregistrements de plusieurs tables.

Il existe différents types de jointures comme suit :

LEFT OUTER JOIN : renvoie toutes les lignes de la table de gauche, même s’il n’y a pas de
correspondance dans la table de droite.

RIGHT OUTER JOIN : renvoie toutes les lignes de la table de droite, même s’il n’ya pas de
correspondance dans la table de gauche.

FULL OUTER JOIN : combine les enregistrements des tables externes gauche et droite.

$Create table grades(student_id, course String, grade double) ;


• Afficher le contenue des tables students et grades :

• Afficher la structure des deux tables :

Vous aimerez peut-être aussi