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*