为啥Spark 的Broadcast要用单例模式
|
可以看到代码里首先会执行job生成代码
每个输出流都会生成一个job,输出流就类似于foreachrdd,print这些。其实内部都是ForEachDStream。所以生成的是一个job集合。 然后就会将job集合提交到线程池里去执行,这些都是在driver端完成的哦。
其实就是遍历生成的job集合,然后提交到线程池jobExecutor内部执行。这个也是在driver端的哦。 jobExecutor就是一个固定线程数的线程池,默认是1个线程。
需要的话可以配置spark.streaming.concurrentJobs来同时提交执行多个job。 那么这种情况下,job就可以并行执行了吗? 显然不是的! 还要修改一下调度模式为Fair,详细的配置可以参考: http://spark.apache.org/docs/2.3.3/job-scheduling.html#scheduling-within-an-application 简单的均分的话只需要
然后,同时运行的job就会均分所有executor提供的资源。 这就是整个job生成的整个过程了哦。 因为Spark Streaming的任务存在Fair模式下并发的情况,所以需要在使用单例模式生成broadcast的时候要注意声明同步。
(编辑:鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 为应对疫情,福特汽车采用VR技术进行远程汽车设计协同工作
- 大数据核心框架MapReduce过程解析
- VR直播应用Avatour推出全新版本:添加群组多人协作功能
- IPO计划推迟6次终上市,AR娱乐毛利率超茅台的微美全息行不行
- 看一遍忘一遍的网络七层模型与TCP/UDP,再给你们普及一下
- 在危机中把握机遇:乐客VR举办“疫情之下VR线下行业的危与机
- 网友怒喷运营商“为推广5G故意调慢4G网速
- VR动作游戏《Until You Fall》正式版即将上线
- VR“吃鸡”游戏《Virtual Battlegrounds》Steam抢先体验版即
- 《Five Nights at Freddy’s VR:Help Wanted》Quest版即将
