习题 4:Spark WordCount(经典)
题目:使用 Spark RDD 实现 WordCount,输出到文件。
import org.apache.spark.{SparkConf, SparkContext}
object WordCount {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("wordcount").setMaster("local[*]")
val sc = new SparkContext(conf)
val rddlines = sc.textFile("input/word.txt", 1)
val rddwords = rddlines.flatMap(line => line.trim().split(" "))
val rddpair = rddwords.map(word => (word, 1))
val rddwc = rddpair.reduceByKey((x, y) => x + y)
rddwc.collect().foreach(println)
// 保存到文件:自动删除旧输出
val outpath = new Path("out")
if (fs.exists(outpath)) fs.delete(outpath, true)
rddwc.saveAsTextFile("out")
}
}