Map Reduce Patterns 1

Le but de ce TP est d'implémenter un pattern courant en Map Reduce : le "top k".

Pour ce TP on considère que nous disposons d'un serveur Hadoop YARN. On installera (si-nécessaire) uniquement les outils permettant de communiquer avec ce serveur YARN (Hadoop ressource manager). Addresse des services du cluster:

  • Namenode (HDFS): $hdfs://10.0.NUM_SALLE.3:9000/$
  • Ressource manager (YARN): $10.0.NUM_SALLE.3:$
  • WebUI (HDFS): $http://10.0.NUM_SALLE.3:50070/$
  • WebUI (YARN): $http://10.0.NUM_SALLE.3:8088/$

Partie 1 : Top K

Le pattern "Top K" sert à retrouver les k (k est une constante, généralement petite) plus grands éléments d'un ensemble selon un ordre prédéfini. Dans ce TP, on travaillera sur le fichier worldcitiespop.txt déjà utilisé précédemment. Le but est de récupérer les k villes les plus peuplées.

Attention aux villes sans population !

Exercice 1 :

Ecrire le mapper et le reducer pour faire un top k avec k=10. Tester le job.

Exercice 2 :

Ajouter un combiner.

Exercice 3 :

Passer le paramètre k en argument sur la ligne de commande. Tester avec k = 100,1000,10000.