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

  1. 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 !
  2. d’afficher les coordonnées GPS des arbres de plus grandes circonférences pour chaque arrondissement de la ville de Paris.
  3. 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.