spark streaming programming guide 基础概念之初始化StreamingContext(三b)

原文网站:

http://spark.apache.org/docs/latest/streaming-programming-guide.html

本篇译文链接:

http://spark.apache.org/docs/latest/streaming-programming-guide.html#initializing-streamingcontext


为了初始化spark streaming项目,我们必须在项目开始之前定义StreamingContext 对象,以此作为我们的程序入口。


其中,变量appName即是你UI上面显示的应用名称,变量master(http://spark.apache.org/docs/latest/submitting-applications.html#master-urls)则指定了spark的运行方式,其中一种方式是通过“local[*]”的形式在本地运行。当以集群的方式运行的时候,我们很少在程序中将master写死,而是会通过传参的方式(http://spark.apache.org/docs/latest/submitting-applications.html)来设置。如果只是进行本地测试或者单元测试,则可以通过local[*]的方式进行本地运行。

而对于时间的间隔需要你对机器的资源和任务的需求进行衡量之后进行设置,链接http://spark.apache.org/docs/latest/streaming-programming-guide.html#setting-the-right-batch-interval中的方式可以参考。


在context定义之后,还需要以下的步骤:

1.对输入的数据进行定义,生成DStream;

2.定义对DStream的操作行为,包括转换,输出等;

3.使用方法 streamingContext.start()开始接收数据和执行

4.使用方法streamingContext.awaitTermination()等待程序的结束,包括手动的和出现错误的原因

5.我们可以通过streamingContext.stop()来手动结束程序。


需要记住下面一些关键点:

1.context一旦启动,就不能再添加新的执行操作;

2.context一旦结束,就不能再重新启动;

3.在同一时间,只能有一个context执行;

4.在StreamingContext执行stop()操作会同时终止SparkContext,如果只想终止StreamingContext,可以向stop()传递参数stopSparkContext=false的形式达到;

5.在一个SparkContext上面可以执行多个StreamingContext,但需要每次只有一个StreamingContext执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值