Traitement
du Big Data
TP 5
Apache Pig
Nassim Bahri M1 DSSD
Objectifs du Comprendre les concepts de base
TP de Pig
Apprendre les commandes (syntaxe
et fonctions) Pig
Analyser un fichier en utilisant le
langage Pig Latin
Présentation
Apache Pig is a platform for analyzing large data sets that consists of a high-level
language for expressing data analysis programs.
Introduit par Yahoo
Fournit une abstraction de MapReduce
Deux composants principaux :
Le langage Pig Latin
Pig execution
Présentation
Écosystème de Hadoop
Présentation
Pig et autres composants Hadoop
Pig vs MapReduce
Hight-level. Low-level.
Pas besoin d'écrire des Il faut écrire des programmes en Java,
programmes complexes. Python, etc.
Opérations intégrées : jointure, Effectuer des opérations dans
filtrage, tri, etc. MapReduce est une tâche complexe.
Types de données imbriqués : Les types de données imbriqués ne
tuples, bags , maps sont pas impliqués
Architecture
Structure de base d'un programme Pig
Contient des commandes pig
dans un fichier (*.pig).
Shell interactif pour exécuter des
commandes pig.
Exécuter des programmes Pig
à partir de Java (UDF)
Structures de données
Atom Tuple
Data Model Types
Bag Map
Structures de données
Une valeur atomique simple (int, long, float, double, chararray,
Atom
bytearray, boolean). Exemple : 'voiture', 10.11
Tuple Une séquence de champs. Exemple : ('voiture', 120)
Une collection de tuples. Exemple : {('développeur', 1500, ('java',
Bag
'sql')),('voiture', 120)}
Map Un tableau associatif. Exemple : ['Poland'#'Euro2012']
Structures de données
Structures de données
Documentation : Pig Latin Basics | Built In Functions
Tester Pig
1- Télécharger le fichier à traiter (disponible sur ce lien)
2- Placer le fichier dans votre cluster hdfs
Tester Pig
1- Démarrer MapReduce JobHistory Server
Execution engine
2- Démarrer le Grunt Shell de Pig
Initiation aux commandes Pig
1- Charger le fichier à traiter
Initiation aux commandes Pig
2- Afficher le nom et le poste de chaque employé dans la liste
Initiation aux commandes Pig
3- Afficher les employés qui travaillent à chicago
Initiation aux commandes Pig
4- Trier les employés par leurs identifiants (en ordre descendant)
Initiation aux commandes Pig
On souhaite afficher le nombre d'employés dans chaque département
1- Grouper les employés par département
Initiation aux commandes Pig
On souhaite afficher le nombre d'employés dans chaque département
1- Grouper les employés par département
Initiation aux commandes Pig
On souhaite afficher le nombre d'employés dans chaque département
2- Afficher le nom du département et le nombre d'employés (opération de
projection)
Initiation aux commandes Pig
On souhaite afficher le nombre d'employés dans chaque département
3- Sauvegarder le résultat obtenu
Pig vs Hive
Pig vs Hive
Références
[Link]
[Link]
[Link]
practical-guide-6c44f06a4ca9
Merci pour votre
attention