Exemple 'WordCount' en Spark
- Uploadons un fichier texte quelconque dans notre répertoire projet, par exemple : /projets/test/sparktest/mydatafile.txt
- Lançons ensuite spark shell :
[jthomaze@co2-hdp26-client]$ spark-shell
- A l'obtention du prompt Scala, tapons les commandes suivantes :
Scala> val file = sc.textFile("/projets/test/sparktest/mydatafile.txt")
Scala> val counts = file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ +_)
Scala> counts.saveAsTextFile("/projets/test/sparktest/output")
- Pour voir le résultat, à partir du prompt Scala :
Scala> counts.toArray().foreach(println)
- Pour voir le résultat, hors spark, via hdfs :
Sortir de Scala via control-d et lancer la commande :
[jthomaze@co2-hdp26-client]$ hadoop fs -cat /projets/test/sparktest/output/part*
- Indépendamment de Spark et hdfs, le contenu des fichiers résultats est aussi accessible directement via un simple cat :
[jthomaze@co2-hdp-client]$ cat /projets/test/sparktest/output/part*