Vous êtes sur la page 1sur 2

PIG

Démarrer PIG en local

pig -x local

Chargement des données

movies = LOAD '/home/cloudera/workspace/data/movies_data.csv' USING PigStorage(',') as


(id:int,name:chararray,year:int,rating:double,duration:int) ;

DUMP
Pour le tester

La commande "dump" permet d’afficher le contenu du flux de données dans la sortie


standard.

grunt> DUMP movies ;

LIMIT
Créer un nouvel alias nommé movies_lim contenant que les 10 premiers films. Puis tester.

grunt>movies_lim = LIMIT movies 10;


grunt>DUMP movies_lim;

FILTER
A titre d’exemple, filtrons le flux de données pour ne retenir que les films dont la sortie en
salle est entre 1950 et 1960

grunt> movies_between_50_60 = FILTER movies by year>1950 and year<1960;

Tester

grunt> DUMP movies_between_50_60 ;


GROUP BY Regrouper les données
L’opérateur group permet de regrouper des enregistrements partageant une donnée en
commun, les mettant ainsi en relation.

Grouper les données par date.

grunt> movies_grp_date = GROUP movies BY year;

Nous pouvons voir la structure du regroupement avec DESCRIBE ;

DESCRIBE

grunt> DESCRIBE movies_grp_date ;

FOREACH … GENERATE
L’utilisation de l’expression foreach / generate permet de réaliser une projection, c’est-à-dire
un réarrangement du flux de données.

Lister le nom et la durée des films

grunt> movie_duration = FOREACH movies GENERATE name, (double)(duration/60);

Vérifier avec la commande DUMP.

grunt> DUMP movie_duration ;

ORDER BY

Trier et lister les films suivant l’année (year) ordre=ascendant.

grunt> desc_movies_by_year = ORDER movies BY year ASC;


grunt> DUMP desc_movies_by_year;

Vous aimerez peut-être aussi