![](https://img.haomeiwen.com/i10771831/cee6590a266142fd.png)
其中JobGenerator.generateJobs()有一段读源码时没看懂,receiverTracker.allocateBlocksToBatch(time)怎么和生成RDD对应?
![](https://img.haomeiwen.com/i10771831/0dee6c80242aeb18.png)
![](https://img.haomeiwen.com/i10771831/26bcfdd7e108e3d7.png)
![](https://img.haomeiwen.com/i10771831/58684c6e30bcf3f1.png)
后面才发现对应ReceiverInputDStream compute()方法,这样前后解释就通了。Spark代码比Hadoop/Hive代码难读多了,后两者用JAVA编写,遵循JAVA设计模式,具备良好的可读性。
![](https://img.haomeiwen.com/i10771831/0e431ea61b4165ae.png)
JobScheduler有一个可优化参数,spark.streaming.concurrentJobs:1
流并发任务数可优化。
网友评论