TP à réaliser en séance¶
Sommaire
Cet énoncé recueille le sujet à réaliser en séance (Il est où le bel arbre ?), ainsi que l’énoncé de l’exercice à réaliser pour le CR (ce dernier ne portera que sur cet exercice).
Les principales commandes : PySpark RDD Cheat Sheet .
Exercice 1 (75 minutes) : Il est où le bel arbre ?¶
On considère ici le fichier de données Opendata Paris concernant des arbres remarquables à Paris. Ce fichier est disponible en cliquant sur ce lien. Choisissez le menu Export et le format csv (196 KOctets).
Copiez ce fichier dans le Namenode (hadoop-master
). La commmande
wc -l arbresremarquablesparis.csv
indique qu’il y a 190 lignes (i.e. arbres) dans le fichier. La commande
cat arbresremarquablesparis.csv
montre que chaque ligne décrit un arbre de la manière suivante :
- position GPS, arrondissement,
- genre, espèce, famille,
- année de plantation, hauteur, circonférence, etc.
Le séparateur entre les colonnes est le caractère ‘;’. La première ligne du fichier contient les titres des colonnes ; pour la supprimer, il suffit d’écrire:
sed '1d' arbresremarquablesparis.csv > arbresremarquablesparis2.csv
Copiez alors arbresremarquablesparis2.csv sur HDFS (dans le répertoires input
).
Remarque :
- Vous ne pouvez pas rédiger vos algo sur le Namenode (il n’y a pas d’éditeur de texte graphique). Éditez le fichier sur votre système d’exploitation, et envoyez-le sur le Namenode par la commande
docker cp ...
.
Travail à réaliser¶
Écrivez des programmes pyspark permettant
- d’afficher les coordonnées GPS, la taille et l’adresse de l’arbre le plus grand.
- Certains arbres n’ont pas de taille renseignée : on devra donc filtrer le RDD en supprimant les lignes dont la hauteur est égale à
''
. - La hauteur est une chaîne de caractères. Pour la transformer en nombre réel :
hauteur_decimal = float(hauteur_string)
. - Pour vérifier le résultat, vous pouvez utiliser ce site. Entrez les coordonnées GPS trouvées et vérifiez que l’adresse est bien la bonne !
- Certains arbres n’ont pas de taille renseignée : on devra donc filtrer le RDD en supprimant les lignes dont la hauteur est égale à
- d’afficher les coordonnées GPS des arbres de plus grandes circonférences pour chaque arrondissement de la ville de Paris.
- d’afficher toutes les espèces d’arbre, triées par genre.
Exercice 2 (90 minutes): The MovieLens Database (à reporter dans votre CR)¶
Remarque : Vous NE devez PAS utiliser pyspark.sql
dans votre requête !
Téléchargement des données¶
Il faut d’abord télécharger la base de données
wget http://files.grouplens.org/datasets/movielens/ml-latest-small.zip
et la décompresser:
unzip ml-latest-small.zip
rm ml-latest-small.zip
Dans le répertoire ml-latest-small, créé lors de la décompression, vous constaterez que les fichiers correspondent à 100 000 notes et 3 600 tags donnés par 600 utilisateurs concernant 9 000 films.
Travail à réaliser¶
Pour le CR, je vous demande de proposer une (1) requête, écrite en PySPark, relativement sophistiquée (et originale) qui interroge plusieurs fichiers de cette base.