初始化StreamingContext

    表示你的应用程序显示在集群UI上的名字,master是一个Spark、Mesos、YARN集群URL
    或者一个特殊字符串“local[*]”,它表示程序用本地模式运行。当程序运行在集群中时,你并不希望在程序中硬编码master,而是希望用spark-submit启动应用程序,并从spark-submit中得到
    的值。对于本地测试或者单元测试,你可以传递“local”字符串在同一个进程内运行Spark Streaming。需要注意的是,它在内部创建了一个SparkContext对象,你可以通过ssc.sparkContext
    访问这个SparkContext对象。

    可以利用已经存在的SparkContext对象创建StreamingContext对象。

    1. import org.apache.spark.streaming._
    2. val ssc = new StreamingContext(sc, Seconds(1))
    • 准备好流计算指令;
    • 利用streamingContext.start()方法接收和处理数据;
    • 处理过程将一直持续,直到streamingContext.stop()方法被调用。

    几点需要注意的地方:

    • 一旦一个context已经停止,它就不能再重新启动
    • 在JVM中,同一时间只能有一个StreamingContext处于活跃状态
    • 在StreamingContext上调用stop()方法,也会关闭SparkContext对象。如果只想仅关闭StreamingContext对象,设置的可选参数为false