您现在的位置是:首页 > 博文答疑 > Spark Streaming 初体验博文答疑
Spark Streaming 初体验
Leo2017-05-26【8】
简介Spark Streaming 初体验. 通过如下实例体验什么是streaming。
本文通过如下实例体验什么是Streaming。
具体的系统学习,大家可以参考官方指南:http://spark.apache.org/docs/latest/streaming-programming-guide.html
Spark Streaming支持多种输入源,为了试实验尽可能的不依赖环境和尽可能的简单。我这里直接监听本地目录,我系统是windows,所以直接监听D盘下的文件夹了。
SCALA代码如下:
import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} object LocalStream { def main(args: Array[String]) { val sparkConf = new SparkConf().setAppName("LocalWordCount").setMaster("local[2]") val ssc = new StreamingContext(sparkConf, Seconds(10))//时间为间隔10秒 val lines = ssc.textFileStream("D:/111/")//监控本地目录 val words = lines.flatMap(_.split(" ")) val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _) println("my print:")//我的打印标价 wordCounts.print() // 启动Streaming ssc.start() ssc.awaitTermination() } }
接下来直接在IntelJ IDEA里运行该程序,我们可以看到log里我们的打印标记和监听开始:
my print: 12:29:40.907 [streaming-start] INFO o.a.s.s.dstream.FileInputDStream.logInfo - Slide time = 20000 ms
然后到我们简单的目录D:/111去创建任意file,我这里创建了一个文本file 666.txt并且随便输入一些单词。下面这个file就被捕捉到了。
12:38:30.002 [JobGenerator] INFO o.a.s.s.dstream.FileInputDStream.logInfo - Finding new files took 0 ms 12:38:30.002 [JobGenerator] INFO o.a.s.s.dstream.FileInputDStream.logInfo - New files at time 1495773510000 ms: file:/D:/111/666.txt
接下来对这个文件进行统计和打印单词出现的次数。
感觉还不错吧!