您现在的位置是:首页 > 博文答疑 > 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

接下来对这个文件进行统计和打印单词出现的次数。

blob.png


感觉还不错吧!