Spark 感觉任务都集中在了某一个Task上,最终报executor lost failure,执行失败。

各位大佬,请教一个问题。
关于spark任务的。
一个大表和一个小表join,大表1.7亿条,小表几百条。
我已经把小表广播了。
在集群下执行的时候,总卡到一个task(通过ui看每次都是最后一个)上,然后长时间等待,最后报executor lost failure。就异常退出了!

这是怎么回事呢?

Task倾斜,你可以尝试对大表进行repartition(task数的倍数),然后 join broadcast(小表名) 小表广播