note--spark-streaming

note--spark-streaming

ID:36001360

大小:306.42 KB

页数:13页

时间:2019-04-29

note--spark-streaming_第1页
note--spark-streaming_第2页
note--spark-streaming_第3页
note--spark-streaming_第4页
note--spark-streaming_第5页
资源描述:

《note--spark-streaming》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Sparkday061.SparkStreaming简介SparkStreaming是流式处理框架,是SparkAPI的扩展,支持可扩展、高吞吐量、容错的实时数据流处理,实时数据的来源可以是:Kafka,Flume,Twitter,ZeroMQ,Kinesis,或者TCPsockets,并且可以使用高级功能的复杂算子来处理流数据。例如:map,reduce,join,window。最终,处理后的数据可以存放在文件系统,数据库,以及实时展现。2.SparkStreaming与Storm的区别1.Storm是纯实时的流式处理框架,SparkStreaming是准实时的处理框架(微批处理

2、)。因为微批处理,SparkStreaming的吞吐量比Storm要高。2.Storm 的事务机制要比SparkStreaming的要完善。3.Storm支持动态资源调度。4.SparkStreaming擅长复杂的业务处理,Storm不擅长复杂的业务处理,擅长简单的汇总型计算。3.SparkStreaming初始1.SparkStreaming初始理解注意:Øreceivertask是7*24小时一直在执行,一直接受数据,将一段时间内接收来的数据保存到batch中。假设batchInterval为5s,那么会将接收来的数据每隔5秒封装到一个batch中,因为batch是没有分布式计

3、算的特性,所以将数据封装到RDD中,最终封装到Dstream中。例如:假设batchInterval为5秒,每隔5秒通过SparkStreamin将得到一个Dstream,在第6秒的时候计算这5秒的数据,假设执行任务的时间是3秒,那么第6~9秒一边在接收数据,一边在计算任务,9~10秒只是在接收数据。然后在第11秒的时候重复上面的操作。Ø如果job执行的时间大于batchInterval会有什么样的问题?接收来的数据会越堆积越多,最后可能会导致OOM。1.SparkStreaming代码代码注意事项:Ø启动socketserver服务器:nc–lk9999Ølocal的模拟线程必须

4、大于等于2,一个被receiver用来接受数据,另一个线程用来执行job。ØDurations时间设置就是我们能接收的延迟度。这个需要根据集群的资源情况以及任务的执行情况来调节。Ø创建JavaStreamingContext有两种方式(SparkConf,SparkContext)Ø所有的代码逻辑完成后要有一个operator算子。ØJavaStreamingContext.start()Streaming框架启动后不能再次添加业务逻辑。ØJavaStreamingContext.stop()无参的stop方法将SparkContext一同关闭,stop(false),不会关闭Sp

5、arkContext。ØJavaStreamingContext.stop()停止之后不能再调用start。SparkConfconf=newSparkConf().setMaster("local[2]").setAppName("WordCountOnline");/***在创建streaminContext的时候设置batchInterval*/JavaStreamingContextjsc=newJavaStreamingContext(conf,Durations.seconds(5));JavaReceiverInputDStreamlines=jsc.

6、socketTextStream("node5",9999);JavaDStreamwords=lines.flatMap(newFlatMapFunction(){/****/privatestaticfinallongserialVersionUID=1L;@OverridepublicIterablecall(Strings){returnArrays.asList(s.split(""));}});JavaPairDStreamones=words.mapToPair(newPai

7、rFunction(){/****/privatestaticfinallongserialVersionUID=1L;@OverridepublicTuple2call(Strings){returnnewTuple2(s,1);}});JavaPairDStreamcounts=ones.reduceByKey(newFun

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关文章
更多
相关标签