import org.apache.spark._
import org.apache.spark.streaming._
object FileTestStream{//这是一个实时监控一个目录,来进行词频统计的脚本
def main(args:Array[String]):Unit={
//设置为本地运行模式,两个线程,一个监听,一个处理数据
val sparkConf=new SparkConf().setAppName("WordCountStream").setMaster("local[2]");
val ssc=new StreamingContext(sparkConf,Seconds(20));//时间间隔2秒
//读取数据
val lines=ssc.textFileStream("file:root/scalaStudy/dataFile/streamingData/");
//数据处理,用户逻辑
val wordCounts=lines.flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_);
//结果展示
wordCounts.print();
//启动监听
ssc.start();
//手动结束监听
ssc.awaitTermination();
}
}
打包:
提交运行,结果如下:
输入数据:
结果运行:ctrl+c结束程序
座右铭:站在别人的思想上,看见自己的不足,传播错误的经验,愿君不重蹈覆辙
由于受限于本人经验,难免不足,如有建议,欢迎留言交流
说明:如果喜欢,请点赞,您的鼓励是本人前进最好的动力