2021SC@SDUSC
前言
前几篇分析阐述了Spark Streaming的基本原理,接下来的内容是在前面的基本原理的基础上,深入到源码中,对Spark Streaming中的各个主要流程进行剖析。对主要的流程,会先做一些概要性的阐述。
从StreamingContext的初始化到启动
Spark Streaming应用程序最开始做的事情一般是初始化StreamingContext,即生成StreamingContext对象。因为StreamingContext是Spark Streaming的入口。
StreamingContext初始化一般会有两个参数,分别是SparkConf对象和批处理时间间隔。
以下是一个基本的Spark Streaming应用程序的例子:
// NetworkWordCount代码
package co.dt.spark.streaming
import org.apache.spark.SparkConf
import org.apache.spark.streaming.{
Seconds, StreamingContext}
object NetworkWordCouunt {
def main(args:Array[String]) {
val sparkConf = new SparkConf().setAppName("NetworkEWordCount")
//初始化StreamingContxt,即生成StreamingContext对象
val ssc = new StreamingContext(sparkConf, Seconds(1))
val lines = ssc.socketTextStream)