此代码在win10系统下的IDEA上运行
package com.imooc.spark
import org.apache.spark.SparkConf
import org.apache.spark.streaming.{Seconds, StreamingContext}
object FileWordCount {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setMaster("local").setAppName("FileWordCount")
val ssc = new StreamingContext(sparkConf, Seconds(5))
val lines = ssc.textFileStream("file:///D:\\IdeaProjects\\a")
val result = lines.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)
result.print()
ssc.start()
ssc.awaitTermination()
}
}
在本地D:\IdeaProjects下创建一个文件夹a
运行以上代码
接着在D:\IdeaProjects下新建一个文件b.txt
将b.txt保存并且复制到a文件夹下,回到IDEA界面看到:
统计文件数据成功。
注意:文件一定要在StreamingContext启动后再新建复制到文件夹中,已经在文件夹中的文件再修改也不会有统计结果。