• spark中streamingContext的使用详解


    两种创建方式

    val conf = new SparkConf().setAppName(appName).setMaster(master);
    val ssc = new StreamingContext(conf, Seconds(1));//通过conf对象创建

    val sc = new SparkContext(conf)
    val ssc = new StreamingContext(sc, Seconds(1));//通过Context对象创建

    appName,是用来在Spark UI上显示的应用名称。master,是一个Spark、Mesos或者Yarn集群的URL,或者是local[*]。

    batch interval可以根据你的应用程序的延迟要求以及可用的集群资源情况来设置。

    一个StreamingContext定义之后,必须做以下几件事情:
    1、通过创建输入DStream来创建输入数据源。
    2、通过对DStream定义transformation和output算子操作,来定义实时计算逻辑。
    3、调用StreamingContext的start()方法,来开始实时处理数据。
    4、调用StreamingContext的awaitTermination()方法,来等待应用程序的终止。可以使用CTRL+C手动停止,或者就是让它持续不断的运行进行计算。
    5、也可以通过调用StreamingContext的stop()方法,来停止应用程序。

    需要注意的要点:
    1、只要一个StreamingContext启动之后,就不能再往其中添加任何计算逻辑了。比如执行start()方法之后,还给某个DStream执行一个算子。
    2、一个StreamingContext停止之后,是肯定不能够重启的。调用stop()之后,不能再调用start()
    3、一个JVM同时只能有一个StreamingContext启动。在你的应用程序中,不能创建两个StreamingContext。
    4、调用stop()方法时,会同时停止内部的SparkContext,如果不希望如此,还希望后面继续使用SparkContext创建其他类型的Context,比如SQLContext,那么就用stop(false)。
    5、一个SparkContext可以创建多个StreamingContext,只要上一个先用stop(false)停止,再创建下一个即可。

  • 相关阅读:
    .NET中的一些设计模式
    (原创)无废话C#设计模式之三:Abstract Factory
    一步一步学Linq to sql(一):预备知识
    使用主题来自动包装控件样式
    (原创)无废话C#设计模式之六:Builder
    (原创)无废话C#设计模式之四:Factory Method
    当前匿名用户和当前连接的区别
    单一登陆的例子
    使用rar.exe压缩的例子
    (原创)无废话C#设计模式之九:Proxy
  • 原文地址:https://www.cnblogs.com/yaohaitao/p/5703365.html
Copyright © 2020-2023  润新知