一、概述
SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展、高吞吐量、容错的实时数据流处理,实时数据的来源可以是:Kafka, Flume, Twitter, ZeroMQ或者TCP sockets,并且可以使用高级功能的复杂算子来处理流数据。例如:map,reduce,join,window 。最终,处理后的数据可以存放在文件系统,数据库等,方便实时展现。
一个简单的示例
下面以一个简单的例子开始spark streaming的学习之旅!我们会从本机的7777端口源源不断地收到以换行符分隔的文本数据流,并计算单词个数
package cn.kgc.kb09.Spark
import org.apache.spark.streaming.{
Seconds, StreamingContext}
import org.apache.spark.SparkConf
import org.apache.spark.streaming.dstream.ReceiverInputDStream
object SparkStreamDemo1 {
def main(args: Array[String]): Unit = {
// 创建SparkConf
val conf = new SparkConf().setAppName("SparkStreamDemo1").setMaster("local[*]")
// 采集周期,指定的3秒为每次采集的时间间隔
val streamingContext = new StreamingContext(conf,Seconds(3

本文介绍了Spark Streaming的基本概念和工作原理,通过一个简单的示例展示了如何从本地7777端口接收文本数据并计算单词计数。文章详细阐述了初始化StreamingContext、DStream的转化和输出操作,以及Spark Streaming的运行架构。强调了微批次处理、Receiver的角色和输出操作的重要性,并提到了配置参数如batch interval的设置。此外,还讨论了流处理引擎的数据接收、存储、处理和输出流程。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



