几个知识:
文件流 FileStream继承与Stream类,一个FileStream类的实例实际上代表一个文件流,使用FileStream类可以对文件系统上的文件进行读取、写入、打开和关闭操作。
打开一个终端窗口,创建需要的文件夹以及文件
Spark Streaming是构建在Spark上的实时计算框架,且是对Spark Core API的一个扩展,它能够实现对流数据进行实时处理,并具有很好的可扩展性、高吞吐量和容错性。
DStream会被按照时间间隔划分成一批一批的RDD(准实时性/近实时性(不是100%的实时)
建立steamingContext的方式
DStream是Spark Streaming提供的基本抽象。它表示连续的数据流,可以是从源接收的输入数据流,也可以是通过转换输入流生成的已处理数据流。
一.文件流
A.
1.进入spark-shell
hadoop@ubuntu:/usr/local/spark$ ./bin/spark-shell
Spark-Shell:Spark的shell作为一个强大的交互式数据分析工具,提供了一个简单的方式学习API。它可以使用Scala(在Java虚拟机上运行现有的Java库的一个很好方式)或Python。
scala> import org.apache.spark.streaming._
scala> val ssc = new StreamingContext(sc, Seconds(20))//分段周期是20秒
scala> val lines = ssc.textFileStream(“file:///usr/local/spark/mycode/streaming/logfile”)//定义输入源,文件流类型的inputstream
scala> val words = lines.flatMap(.split(" "))
scala> val wordCounts = words.map(x => (x, 1)).reduceByKey( + _)
scala> wordCounts.print()
scala> ssc.start()//调用start开始接受数据和处理流程
scala> ssc.awaitTermination()
2.导入包
3.为了初始化SparkStreaming程序,得以进入SparkSreaming的所有流操作,需要创建一个Spark Streaming所有流操作的主要入口。
创建SparkStreaming的入口StreamingContext。
val ssc = new StreamingContext(sc, Seconds(20))//分段周期是20秒
方法是通过SparkContext和批处理时间间隔,SparkContext是指
类似于javaSpringContext,是一个容器,里面装各种各样的资源。
4.定义输入源:文件流类型
5.对文件流类型的输入源进行转换操作