spark的wordcount代码scala
时间: 2023-04-22 15:05:24 浏览: 89
以下是Spark的WordCount代码(Scala版本):
```scala
import org.apache.spark.{SparkConf, SparkContext}
object WordCount {
def main(args: Array[String]): Unit = {
// 创建SparkConf对象
val conf = new SparkConf().setAppName("WordCount").setMaster("local")
// 创建SparkContext对象
val sc = new SparkContext(conf)
// 读取文件
val lines = sc.textFile("input.txt")
// 切分单词
val words = lines.flatMap(_.split(" "))
// 统计单词出现次数
val wordCounts = words.map((_, 1)).reduceByKey(_ + _)
// 输出结果
wordCounts.foreach(println)
// 关闭SparkContext
sc.stop()
}
}
```
这个代码实现了一个简单的WordCount程序,它读取一个文本文件,统计文件中每个单词出现的次数,并输出结果。具体的实现过程如下:
1. 创建SparkConf对象,设置应用程序名称和运行模式(本地模式)。
2. 创建SparkContext对象,它是Spark程序的入口点。
3. 读取文件,使用textFile方法读取指定路径下的文本文件,并返回一个RDD对象。
4. 切分单词,使用flatMap方法将每行文本切分成单词,并返回一个包含所有单词的RDD对象。
5. 统计单词出现次数,使用map方法将每个单词映射为一个键值对(单词,1),然后使用reduceByKey方法对相同键的值进行累加,最终返回一个包含每个单词出现次数的RDD对象。
6. 输出结果,使用foreach方法遍历RDD对象中的每个元素,并将其打印到控制台上。
7. 关闭SparkContext对象,释放资源。
以上就是Spark的WordCount代码(Scala版本)的实现过程。