修改 Maven 项目中的 POM 文件,增加 Spark 框架的依赖关系,使用时请注意对应版本。
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
代码:
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Spark02_WordCount {
def main(args: Array[String]): Unit = {
var sparkConf = new SparkConf().setMaster("local").setAppName("WordCount")
var sc = new SparkContext(sparkConf)
val lines:RDD[String] = sc.textFile("datas")
val words:RDD[String] = lines.flatMap(_.split(" "))
val word2One: RDD[(String, Int)] = words.map(
word => (word, 1)
)
val word2Count: RDD[(String, Int)] = word2One.reduceByKey(_ + _)
val tuples: Array[(String, Int)] = word2Count.collect()
tuples.foreach(println)
sc.stop()
}
}
其中datas下面分别有两个txt文件(1.txt与2.txt),文件里面保存了需要统计的文本,datas文件夹要保存到项目的根目录下。 运行结果会打印出每个单词及其出现的个数,每个单词及其出现个数组成一个元组。
|