
SparkStreaming
humanity11
这个作者很懒,什么都没留下…
展开
-
SparkStreaming从入门到放弃(一)
在讲sparkStreaming之前先思考:如果让自己基于spark实现sparkStreaming该如何做?(1)首先假设我们的spark实现了如下简单功能那现在是spark流一定用来一个上面的模板对一批一批的rdd处理,应该是这样的:(2)上面所示,除了一个静态的RDD 模板,还需要一个动态的时间控制器,将streaming data切成片段应用至模板中。(3)我们的数...原创 2019-08-01 21:47:54 · 209 阅读 · 0 评论 -
SparkStreaming从入门到放弃(二)
本节主要针对Dstream 静态模板的讲解。回顾RDD,rdd是一个只读的数据集,因此不难知道,dstream也是一个数据集,也有transfermation和output。在dstreaming中,transfermation有map\filter\join\reduce等,output有print\save\foreachRDD等。看上节的例子:ssc.socketTextStrea...原创 2019-08-01 21:51:33 · 149 阅读 · 0 评论 -
SparkStreaming从入门到放弃(三)
本文主要讲解Dstream 如何生成RDD以及如何驱动RDD的调用的?(1)从Dstream.print()开始将数据打印出来,取前面几条,最后调用的是:而regester中是直接将结果作为输出ssc.graph.addOutputStream(this)上一节中我们知道,JobGenertor会掉用generatedJob来定期启动time调用job. 也就是说,...原创 2019-08-01 21:56:09 · 523 阅读 · 0 评论 -
SparkStreaming从入门到放弃(四)
从job角度看sparkStreaming回顾前文,JobGenerator维护了一个定时器,周期就是我们刚刚提到的batchDuration,定时为每个 batch 生成 RDD DAG 的实例,DStreamGraph.generateJobs(time)将返回一个Seq[Job],其中的每个Job是一个ForEachDStream实例的generateJob(time)...原创 2019-08-01 21:59:11 · 197 阅读 · 0 评论 -
SparkStreaming从入门到放弃(五)
ReceiverTracker详解回顾,数据产生与导入的基本工作流程:(1) 由Receiver的总指挥ReceiverTracker分发多个 job(每个 job 有 1 个 task),到多个 executor 上分别启动ReceiverSupervisor实例; (2) 每个ReceiverSupervisor启动后将马上生成一个用户提供的Receiver实现...原创 2019-08-01 22:00:54 · 154 阅读 · 0 评论