本文共 1460 字,大约阅读时间需要 4 分钟。
为了初始化Spark Streaming程序,一个StreamingContext对象必需被创建,它是Spark Streaming所有流操作的主要入口。一个StreamingContext 对象可以用SparkConf对象创建。 可以使用SparkConf对象创建JavaStreamingContext对象:
SparkConf conf = new SparkConf().setAppName(appName).setMaster(master);JavaStreamingContext jsc = new JavaStreamingContext(conf, Durations.seconds(seconds));
appName参数是应用程序在集群UI上显示的名称。 master是Spark,Mesos或YARN集群URL,或者是以本地模式运行的特殊字符串"local [*]"。
实际上,当在集群上运行时,您不想在程序中硬编码master(即在程序中写死),而是希望使用spark-submit启动应用程序时得到master的值。 但是,对于本地测试和单元测试,您可以传递"local [*]"来运行Spark Streaming进程。 注意,这里内部创建的JavaSparkContext(所有Spark功能的起始点),可以通过jsc.sparkContext访问。
JavaStreamingContext对象也可以从现有的JavaSparkContext创建:
SparkConf conf = new SparkConf().setAppName("socket-spark-stream").setMaster("local[2]");JavaSparkContext sparkContext = new JavaSparkContext(conf);JavaStreamingContext jsc = new JavaStreamingContext(sparkContext, Durations.seconds(seconds));
批处理间隔必须根据应用程序和可用群集资源的延迟要求进行设置。 有关更多详细信息,请参阅“性能调优”部分。
定义上下文后,您必须执行以下操作:
注意点:
转载地址:http://zfvdl.baihongyu.com/