TheBiiigBlue
2019-02-28 16:03Spark Task卡住的问题、Scheduler Delay 很长的问题
我写了一个label encoder的demo,逻辑很简单,从hive中读一张表(46.5M大小,很小很小),
然后对多列进行label encoder(label encoder不支持多列,使用了pipeline操作),然后从中抽取字典,最后写入hive中。
但是有个问题,就是在我执行到pipeline后面的action时,提交的作业会卡在这很久,不知道是什么原因,不可能是数据倾斜,这么小的数据。。。我对spark的调度只知表面,不知深层,请大神指点一二,谢谢各位大神。
下面是代码和ui界面:
代码部分
spark ui 相关界面
count at NullValueCheck 是校验一下空值,这个直接读取hive表,count一下,countByValue是StringIndexer类中的方法。他们的执行时间还可接受。
NullValueCheck的DAG图界面:
下面是countByValue方法的DAG图界面:
下面是count at LabelEncoder这了,这里提交了pipeline任务,然后就卡在这了:
下面两张是count at LabelEnocder job的DAG:
下面是这个stages界面,可以看到scheduler delay很长,task time 没有,任务卡在这了:
下面是executor界面供参考:
下面是这个卡住的用的总时长和后面保存表操作,可以看到这个提交pipeline任务的时间跟别的不在一个等级上,里面因为scheduler delay卡住很长时间:
烦请各位大神帮忙看下,通过这次指导我一定能从中获取到更多spark任务相关知识,谢谢各位大神了。
- 点赞
- 回答
- 收藏
- 复制链接分享
2条回答
为你推荐
- Nodejs EventLoop(带有集群模块)和Golang Scheduler的比较
- event-loop
- goroutine
- node.js
- 1个回答
- PHP - 无法使用exec命令打开.exe文件
- scheduler
- iis
- task
- php
- exec
- 2个回答
- 从taskscheduler运行时如何将进程名称分配给批处理文件
- windows
- php
- 1个回答
- 有关quartz任务调度的一个问题
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- 奇怪的问题---急需解决
- struts
- 0个回答
换一换