Ceci est une ancienne révision du document !


TP Spark

L'objectif de ce TP est de prendre en main Spark, un autre moteur de calcul distribué sur HDFS (entre autres).

Chaque binôme dispose d'une machine cloud (ip dans tomuus) pour exécuter des job Spark. La machine héberge un conteneur docker pour faire tourner une instance de la distribution Cloudera (cloudera-quickstart).

Ce mode de fonctionnement a les conséquences suivantes:

  • Il est conseillé de lancer screen, puis de lancer le conteneur depuis screen.
  • Docker est uniquement accessible par le root de vorte machine cloud → penser à utiliser sudo
  • Une fois le conteneur démarré avec la commande fournie, un shell est ouvert sur le conteneur. :!: Fermer ce shell éteint le conteneur. :!:
  • Pour copier un fichier dans le conteneur: sudo docker cp le.fichier.a.copier cloudera:/
    • Pour copier un fichier dans hdfs, il faut d'abord le copier dans le conteneur, puis copier le fichier depuis le conteneur dans hdfs
    • L'utilisateur du conteneur (root) a les droits pour exécuter des jobs spark et pour écrire dans hdfs

Lancer le conteneur (depuis screen pour ne pas le perdre en cas d'interruption de la connexion):

sudo docker run --hostname=quickstart.cloudera --privileged=true -t -i --name cloudera cloudera/quickstart /usr/bin/docker-quickstart

Récupérer l'archive data.zip qui contient les fichiers de données.

Importer les données dans hdfs (dans le répertoire hdfs /home/root) en conservant la structure de répertoires de l'archive.

Dans la suite de ce TP, on va reproduire sur Spark les requêtes des TPs précédents

Wordcount

Statistiques sur Source

Jointure avec Object