V.8.2 Composants Apache
Hadoop
V.8.2.1 Hbase
Hbase est un système de gestion de bases de
données non relationnelles distribuées, écrit en Java,
disposant d'un stockage structuré pour les grandes tables. C'est une
base de données NoSQL, orientée colonnes. Utilisé
conjointement avec HDFS, ce dernier facilite la distribution des données
de Hbase sur plusieurs noeuds. Contrairement à HDFS, HBase permet de
gérer les accès aléatoires read/write pour des
applications de type temps réel.
V.8.2.2
HaCatalog
HCatalog permet l'interopérabilité d'un cluster
de données Hadoop avec d'autres systèmes (Hive, Pig, ...). C'est
un service de gestion de tables et de schéma Hadoop. Il permet :
§ D'attaquer les données HDFS via des
schémas de type tables de données en lecture/écriture.
§ D'opérer sur des données issues de
MapReduce, Pig ou Hive.
V.8.2.3 Hive
Hive est un outil de requêtage des données, il
permet l'exécution de requêtes SQL sur le cluster Hadoop en vue
d'analyser et d'agréger les données. Le langage utilisé
par Hive est nommé HiveQL. C'est un langage de visualisation uniquement,
raison pour laquelle seules les instructions de type
« Select » sont supportées pour la manipulation des
données.
Hive proposent des fonctions prédéfinies (calcul
de la somme, du maximum, de la moyenne), il permet également à
l'utilisateur de définir ses propres fonctions qui peuvent
être de 3 types :
§ UDF (User Defined Function) : qui prennent une ligne en
entrée et retournent une ligne en sortie. Exemple : mettre une
chaîne de caractère en minuscule et inversement
§ UDAF (User Defined Aggregate Function) : qui prennent
plusieurs lignes en entrée et retournent une ligne en sortie.
Exemple : somme, moyenne, max....
§ UDTF (User Defined Table Function) : qui prennent une
ligne en entrée et retournent plusieurs lignes en sortie. Exemple :
découper une chaîne de caractère en plusieurs mots.
Hive utilise un connecteur jdbc/odbc, ce qui permet de le
connecter à des outils de création de rapport comme QlikView.
V.8.2.4 Pig
Pig est une brique qui permet le requêtage des
données Hadoop à partir d'un langage de script (langage qui
interprète le code ligne par ligne au lieu de faire une compilation).
Pig est basé sur un langage de haut niveau appelé PigLatin. Il
transforme étape par étape des flux de données en
exécutant des programmes MapReduce successivement ou en utilisant des
méthodes prédéfinies du type calcul de la moyenne, de la
valeur minimale, ou en permettant à l'utilisateur de définir ses
propres méthode appelées User Defined Functions (UDF).
|