WordCount 的主要功能就是统计输入中所有单词的出现的次数,辨析的步骤如下
1。初始化
创建一个SparkContext对象,该对象有4个参数:Spark master位置、应用程序名称、Spark安装目录和jar存放位置
加载文件
val textRDD = sc.textFile(“file:///home/test/sparkcont”)
将文件使用flatMap来按行进行处理,使用\s进行分割
val result = textRDD.flatMap{f : String => f.split(“\s+”)}
将得到的结果使用map来转化成(key,1)形式
val result1 = result.map(word => (word,1))
将得到的结果使用reduceByKey来安key分组,将value相加
val result2 = result1.reduceByKey(+)
使用saveAsSequenceFile(path)来将结果保存在hdfs或者是本地
这里值得注意的是,结果可能是一个或多个文件,因为每一个task会产生一个文件的
所以使用
result2.repartition(1).saveAsTextFile(“file:///home/test/a8”)
最基本最简单的wordcount这就做好的