Vous êtes sur la page 1sur 3

Issat Gafsa Framework Big Data

TP1: Introduction à Spark

1. Spark sur Cloudera

Spark peut s'exécuter sur plusieurs plateformes: Hadoop, Mesos ou en standalone. Il peut également
accéder diverses sources de données, comme HDFS, Cassandra, HBase et S3.
Dans ce TP, nous allons exécuter Spark sur Cloudera. YARN s'occupera ainsi de la gestion des
ressources pour le déclenchement et l'exécution des Jobs Spark.
Spark est déjà intégré dans Cloudera. Il n y a pas de procédure additionnelle requise pour installer
Spark.

2. Spark Shell : Scala


Spark Shell permet l’exécution de Park en utilisant Scala.
Pour tester Spark Shell, on va commencer d’abord par créer un fichier test.txt contenant le texte
suivant:

Hello Spark Wordcount!


Hello Cloudera!
This le is to test Spark
To do the Wordcount using spark
2023/2024 1 sur 3


fi
Issat Gafsa Framework Big Data

On va charger le fichier test en exécutant la commande suivante:

hadoop fs -put test.txt

Pour passer à Spark shell et vérifier que spark est bien installé, taper la commande suivante:

spark-shell

Vous pourrez tester spark avec un code scala simple comme suit (à exécuter ligne par ligne):

scala> val lines = sc.textFile("test.txt")


scala> val words = lines. atMap(_.split("\\s+"))
scala> val wc = words.map(w => (w, 1)).reduceByKey(_ + _)
scala> wc.saveAsTextFile("test.count")

Ce code vient de (1) charger le fichier file1.txt de HDFS, (2) séparer les mots selon les caractères
d'espacement, (3) appliquer un map sur les mots obtenus qui produit le couple (<mot>, 1), puis un
reduce qui permet de faire la somme des 1 des mots identiques.

Pour afficher le résultat, sortir de spark-shell en cliquant sur Ctrl-C. Télécharger ensuite le
répertoire test.count créé dans HDFS comme suit:
hadoop fs -get test.count

3. PySpark : Python

PySpark permet le lancement de Spark en Python:


pyspark

2023/2024 2 sur 3


fl
Issat Gafsa Framework Big Data
Pour effectuer le même traitement de calcul de nombre de mots on va exécuter le code suivant:

>>> my le = sc.textFile("test.txt")
>>> counts = myfile.flatMap(lambda line: line.split("
")).map(lambda word: (word, 1)).reduceByKey(lambda
v1,v2: v1 + v2)
>>> counts.saveAsTextFile("test.count")

Pour afficher le résultat, sortir de spark-shell en cliquant sur Ctrl-D ou quit(). Télécharger ensuite le
répertoire test.count créé dans HDFS comme suit:
hadoop fs -get test.count

2023/2024 3 sur 3


fi

Vous aimerez peut-être aussi