Vous êtes sur la page 1sur 3

Pr.

ROCHD Yassir
2022-2023

TP2 : Big Data


HDFS et MapReduce

I. Commande HDFS
Voici quelques commandes à essayer dans le shell connecté à hadoop :

 hdfs dfs -ls : qui s’adresse par défaut à votre dossier pour afficher son contenu
 hdfs dfs -ls / : affiche ce qu’il y a à la racine HDFS. Vous pouvez descendre inspecter les
dossiers que vous voyez. Exemple hdfs dfs -ls /user. Il n’y a pas de commande équivalente à
cd, parce qu’il n’y a pas de notion de dossier courant dans HDFS, donc à chaque fois, il faut
remettre le chemin complet.
 hdfs dfs -ls -R -h /var : affiche les fichiers des sous-dossiers, avec une taille écrite en unité
humaines.
 hdfs dfs -mkdir fichiers : crée un dossier dans votre espace HDFS

Créez un fichier appelé bonjour.txt dans votre compte Linux et contenant le mot « bonjour».

 Copier ce fichier sur HDFS par hdfs dfs -put bonjour.txt. Utilisez hdfs dfs -ls -R pour vérifier.
 hdfs dfs -cat bonjour.txt : affiche le contenu. Il n’y a pas de commande more mais vous
pouvez faire hdfs dfs -cat bonjour.txt | more
 hdfs dfs -tail bonjour.txt : affiche le dernier Ko du fichier.
 Supprimer ce fichier de HDFS par hdfs dfs -rm bonjour.txt.
 Remettre à nouveau ce fichier par hdfs dfs -copyFromLocal bonjour.txt (vérifier avec
 hdfs dfs -ls). Cette commande est similaire à hdfs dfs -put.
 hdfs dfs -chmod go+w bonjour.txt (vérifier les propriétaire, groupe et droits avec hdfs dfs -
ls)
 hdfs dfs -chmod go-r bonjour.txt (vérifier les droits)
 hdfs dfs -mv bonjour.txt fichiers/bonjour.txt (vérifier avec hdfs dfs -ls -R)
 hdfs dfs -get fichiers/bonjour.txt demat.txt : transfère le fichier de HDFS vers votre compte
Linux en lui changeant son nom. Attention à ne pas le faire avec de vraies méga-données !
 hdfs dfs -cp fichiers/bonjour.txt fichiers/salut.txt (vérifier)
 hdfs dfs -count -h /user/votre_login : affiche le nombre de sous-dossiers, fichiers et octets
occupés.
 hdfs dfs -rm fichiers/bonjour.txt (vérifier avec hdfs dfs -ls fichiers).
 hdfs dfs -rmr fichiers (vérifier avec hdfs dfs -ls).
 Vous pouvez accéder rapidement au rapport HDFS en exécutant la commande suivante:
hadoop dfsadmin -report
 Vous pouvez diriger (en utilisant le caractère |) toute commande HDFS à utiliser avec le shell
Linux. Par exemple, vous pouvez facilement utiliser grep avec HDFS en procédant comme
suit:

hadoop fs -mkdir /user/myTestDir2


hadoop fs -ls /user | grep Test

1 2022-2023 Pr.ROCHD Yassir


 Vous devriez voir la sortie du fichier bonjour.txt (qui est stocké dans HDFS). Nous pouvons
également utiliser la commande linux diff pour voir si le fichier que nous avons mis sur HDFS
est en fait le même que l'original sur le système de fichiers local.
Exécutez les commandes ci-dessous pour utiliser la commande diff:

diff <( hadoop fs -cat bonjour.txt ) bonjour.txt

Puisque la commande diff ne produit aucune sortie, nous savons que les fichiers sont les mêmes (la
commande diff imprime toutes les lignes dans les fichiers qui diffèrent).
Pour trouver la taille des fichiers, vous devez utiliser les commandes -du ou -dus. Gardez à l'esprit
que ces commandes renvoient la taille du fichier en octets.

 Pour trouver la taille du fichier bonjour.txt, utilisez la commande suivante :

hadoop fs -du README

 Pour trouver la taille de tous les fichiers individuellement dans le répertoire /user, utilisez la
commande suivante :

hadoop fs -du /user

II. MapReduce
Soit ce tableau de données :

id Name Age Gender Salary


1201 gopal 45 Male 50.000
1202 Manisha 40 Female 50.000
1203 Khalil 34 Male 30.000
1204 Prasanth 30 Male 30.000
1205 kiran 20 Male 40.000
1206 Laxmi 25 Female 35.000
1207 Bhavya 20 Female 15.000
1208 Reshma 19 Female 15.000
1209 Kranthi 22 Male 22.000
1210 Satish 24 Male 25.000
1211 krishna 25 Male 25.000
1212 Arshad 28 Male 20.000
1213 lavanya 18 Female 8.000

En utilisant hadoop et en relisant un programme map-reduce nous allons calculer le plus grand
salaire groupé par sexe et par tranche d'âge.

2 2022-2023 Pr.ROCHD Yassir


Compilation :

Télecharger le script “hadoopc.sh” et le “hadoop-core.jar” ainsi que les fichiers nécessaires (fichier
Tp_de_hadoop.tar)

Création d'un fichier dans HDFS


hadoop fs -mkdir input

Remarque : il n’est pas nécessaire de créer un dossier pour stocker le résultat.


Envoyer les données vers HDFS
hadoop fs -put tp1.txt /input/

Pour l'exécution d'un map reduce:


/hadoopc.sh fichier.java chemin_vers_hdfs/input chemin_vers_hdfs/output

Récupération de résultat
hadoop fs -get chemin_vers_hdfs/output chemin/

3 2022-2023 Pr.ROCHD Yassir

Vous aimerez peut-être aussi