第一个sparkstream例子

目录

[TOC]来生成目录:

      • 目录
  • 第一个SPARKSTREAM例子

第一个SPARKSTREAM例子

在这个例子中,程序从监听TCP套接字的数据服务器获取文本数据,然后计算文本中包含的单词数。做法如下:

首先,我们导入Spark Streaming的相关类以及一些从StreamingContext获得的隐式转换到我们的环境中,为我们所需的其他类(如DStream)提供有用的方法。StreamingContext 是Spark所有流操作的主要入口。然后,我们创建了一个具有两个执行线程以及1秒批间隔时间(即以秒为单位分割数据流)的本地StreamingContext。

/** * Created by root on 15-8-15. */
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark.streaming.StreamingContext._


object NetWorkWordCount {

    def main (args: Array[String]) {
    val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")
    val ssc = new StreamingContext(conf, Seconds(1))
    val lines = ssc.socketTextStream("localhost", 9999)
    val words = lines.flatMap(_.split(" "))
      // Count each word in each batch
    val pairs = words.map(word => (word, 1))
    val wordCounts = pairs.reduceByKey(_ + _)
// Print the first ten elements of each RDD generated in this DStream to the console
    wordCounts.print()
    ssc.start()             // Start the computation
    ssc.awaitTermination()  // Wait for the computation to terminate
    }
}

需要运行Netcat作为数据服务器
$ nc -lk 9999
然后在IDE里运行这个例子,在数据服务器端口输入单词,程序将监听到这些单词,并计算每个单词的个数。
第一个sparkstream例子_第1张图片

你可能感兴趣的:(spark)