5.Spark Streaming:StreamingContext详解

xiaoxiao2021-02-28  18

StreamingContext详解(一)

有两种创建StreamingContext的方式:

val conf = new SparkConf().setAppName(appName).setMaster(master); val ssc = new StreamingContext(conf, Seconds(1));

StreamingContext,还可以使用已有的SparkContext来创建

val sc = new SparkContext(conf) val ssc = new StreamingContext(sc, Seconds(1));

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

 

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

 StreamingContext详解(二)

 一个StreamingContext定义之后,必须做以下几件事情:

通过创建输入DStream来创建输入数据源。通过对DStream定义transformation和output算子操作,来定义实时计算逻辑。调用StreamingContext的start()方法,来开始实时处理数据。调用StreamingContext的awaitTermination()方法,来等待应用程序的终止。可以使用CTRL+C手动停止,或者就是让它持续不断的运行进行计算。也可以通过调用StreamingContext的stop()方法,来停止应用程序。

需要注意的要点:

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

 


文章最后,给大家推荐一些受欢迎的技术博客链接:

Hadoop相关技术博客链接Spark 核心技术链接JAVA相关的深度技术博客链接超全干货--Flink思维导图,花了3周左右编写、校对深入JAVA 的JVM核心原理解决线上各种故障【附案例】请谈谈你对volatile的理解?--最近小李子与面试官的一场“硬核较量”聊聊RPC通信,经常被问到的一道面试题。源码+笔记,包懂

 


欢迎扫描下方的二维码或 搜索 公众号“10点进修”,我们会有更多、且及时的资料推送给您,欢迎多多交流!

                                           

       

转载请注明原文地址: https://www.6miu.com/read-1750291.html

最新回复(0)