Vous êtes sur la page 1sur 5

1.

Présentation sur le TP :
On a deux fichier dans ce TP :
 Le premier est le fichir client est contient : ( idclient, nom, age, adresse).
 Le deuxieme fichier est achat est contient : ( idachat, idclient, produit, prix ).
Ces deux fichiers sont initialement stockés localement, pour les stocker dans HDFS :

hadoop dfs –put desktop/user/cloudera/clients /client


hadoop dfs –put desktop/user/cloudera/achats /achat

2. Le chargement des données :


Pour charger les données on utilise la commande :

Pour afficher les données de fichier client On utilise la commande Dump clients ;

3. Instructions Pig :
Filter clients by age >50 ; est utilisé ici pour filtrer les clients et n’affiché que les clients qui ont plus de 50
ans.

Foreach achats GENERATE prix,produit ; Permet de n’afficher que le prix et le nom de produit.

ESSALIME Bouchra Page 1 sur 5


Group achats BY idclient ; permet de regrouper les achats par clients.

Le résultat est affiché comme suivant :

Maintenant si on veut afficher tous les prix : GROUP prix ALL ;

On peut aussi faire la jointure On utilisant la commande : JOINT clients BY idclient, achats BY idclient ;

ESSALIME Bouchra Page 2 sur 5


3. Extraction des données :

Dans cette exemple On enregistre les données de la jointure dans le répertoire /pigresultat en utilisant la
commande :
STORE jointure into ‘/pigresultat’ ;

ESSALIME Bouchra Page 3 sur 5


1. Présentation sur le TP :
Dans ce TP On cherche à créer un scripte Pig qui vas compter le nombre de mots dans un fichier.
Notre fichier est appelé fichier :

2. Création du scripte Pig :


On utilise la commande suivante pour créer le script Pig : sudo gedit /home/cloudera/countscript.pig

Le fichier countscripte.pig s’ouvre est On peut maintenant mettre les instructions de dons.

3. Les instructions du scripte Pig :

lignes = LOAD ‘/home/cloudera/Desktop/fichier’ AS (ligne : chararray) ; cette instruction charger le fichier


fichier qui a le chemin /home/cloudera/Desktop/fichier avec un alias lignes.

mots = FOREACH lignes GENERATE FLATTEN(TOKENIZE(ligne)) as mot; Cette instruction divise d’abord
chaque ligne en mots à l’aide de l’ opérateur TOKENIZE . La fonction tokenize crée un sac de mots. En
utilisant la fonction FLATTEN , le sac est converti en un tuple.

ESSALIME Bouchra Page 4 sur 5


grouped = GROUP mots BY mot ; Dans la troisième instruction, les mots sont regroupés.

wordcount = FOREACH grouoed GENERATE group, COUNT(mots) as nbmot; cette instruction nous permet
de calculer le nombre de répétition de chaque mot.

wordcountt = GROUP wordcount ALL ; est utilisé pour faire un regroupement des resultats de wordcount
dans un seul tuple.

somme = foreach worcountt generate SUM(wordcount.nbmot) ; Dans cet alias on a la somme des
nombres des mots de fichier.

DUMP somme ; permet la projection des résultats de l’alias somme.

4. L’ éxecution du scripte Pig :

Pour exécuter ces dernières il suffit d’utiliser la commande : pig -x LOCAL countscript.pig cette commande
est exécuter localement.

Notre scripte Pig est exécuter est affiche que notre fichier contient 19 mots.

ESSALIME Bouchra Page 5 sur 5

Vous aimerez peut-être aussi