请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 7675|回复: 6

spark executor task执行

[复制链接]

19

主题

26

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
发表于 2020-1-27 01:25:47 | 显示全部楼层 |阅读模式
Executor执行任务的起点是Executor的launchTask()方法。
  1. val executorData = executorDataMap(task.executorId)executorData.freeCores -= scheduler.CPUS_PER_TASKlogDebug(s"Launching task ${task.taskId} on executor id: ${task.executorId} hostname: " +  s"${executorData.executorHost}.")executorData.executorEndpoint.send(LaunchTask(new SerializableBuffer(serializedTask)))
复制代码
launchTask()方法的调用,以standalone为例子,其实是在CoarseGrainedSchedulerBackend类的launchTasks()中,通过网络远程将TaskDescription序列化后的对象传递至对应的executor准备对具体的任务进行执行。
  1. def launchTask(context: ExecutorBackend, taskDescription: TaskDescription): Unit = {  val tr = new TaskRunner(context, taskDescription)  runningTasks.put(taskDescription.taskId, tr)  threadPool.execute(tr)}
复制代码
在Executor端,接收到的序列化后的TaskDescription反序列化具体的对象,并封装为TaskRunner,投入Executor的线程池执行。
TaskRunner实现了Runnable接口,其在线程池具体执行的代码逻辑就在其run()方法中。
  1. Executor.taskDeserializationProps.set(taskDescription.properties)updateDependencies(taskDescription.addedFiles, taskDescription.addedJars)task = ser.deserialize[Task[Any]](  taskDescription.serializedTask, Thread.currentThread.getContextClassLoader)task.localProperties = taskDescription.propertiestask.setTaskMemoryManager(taskMemoryManager)
复制代码
在以上代码中,实现了task在executor执行之前的两个重要步骤。
 
在updateDependencies()方法中,加载了task具体需要的文件和依赖的jar包。
[code]for ((name, timestamp)




上一篇:SEO专家,必备的6个职业技能,你有吗?
下一篇:王峰CSDN-“重要文章”年终整理
回复

使用道具 举报

0

主题

14

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
发表于 2020-2-2 19:11:34 | 显示全部楼层
楼主,大恩不言谢了![www.12360.co]
回复

使用道具 举报

0

主题

26

帖子

556

积分

高级会员

Rank: 4

积分
556
发表于 2020-2-2 22:32:24 | 显示全部楼层
我看不错噢 谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

7

帖子

157

积分

注册会员

Rank: 2

积分
157
发表于 2020-2-8 01:50:26 | 显示全部楼层
其实我一直觉得楼主的品味不错!呵呵![www.12360.co]
回复

使用道具 举报

0

主题

15

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
发表于 2020-2-9 16:58:14 | 显示全部楼层
既然你诚信诚意的推荐了,那我就勉为其难的看看吧![www.12360.co]
回复

使用道具 举报

18

主题

22

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 7 天前 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

13

帖子

283

积分

中级会员

Rank: 3Rank: 3

积分
283
发表于 昨天 19:14 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享![www.12360.co]
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-18 05:19 , Processed in 0.093858 second(s), 40 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表