要初始化一个 Spark Streaming 程序,必须创建一个 StreamingContext 对象,该对象是 SparkStreaming 流处理的编程入口点。2.2版本SparkSession未整合StreamingContext,所以仍需单独创建。
创建 StreamingContext 对象
Spark Streaming 初始化的主要工作是创建 Streaming Context 对象,通过创建函数的参数指明 Master Server,设定应用名称,指定 Spark Streaming 处理数据的时间间隔等。
一个JVM只能有一个StreamingContext启动。
StreamingContext停止后不能再启动。
Spark Streaming 程序开发流程:
一个StreamingContext定义之后,必须执行以下程序进行实时计算的执行
- 定义 StreamingContext
- 通过 StreamingContext API 创建输入 DStream(Input DStream)来创建输入不同的数据源
- 对DStream定义transformation和output等各种算子操作,来定义我们需要的各种实时计算逻辑。
- 调用StreamingContext的start()方法,进行启动我们的实时处理数据。
- 调用StreamingContext的awaitTermination()方法,来等待应用程序的终止。可以使用CTRL+C手动停止,或者就是让它持续不断的运行进行计算。
- 也可以通过调用StreamingContext的stop()方法,来停止应用程序。
创建 StreamingContext两种方法
方法一:通过 SparkConf 创建
val conf = new SparkConf().setAppName(appName).setMaster