scala - 火花任务未开始执行
问题描述
我在 spark shell 工作中运行工作
--num-executors 15
--driver-memory 15G
--executor-memory 7G
--executor-cores 8
--conf spark.yarn.executor.memoryOverhead=2G
--conf spark.sql.shuffle.partitions=500
--conf spark.sql.autoBroadcastJoinThreshold=-1
--conf spark.executor.memoryOverhead=800
工作卡住了,没有启动代码是在 270m 的大型数据集上使用过滤条件进行交叉连接。我已将大表 270m 和小表 (100000) 的分区增加到 16000,我已将其转换为广播变量
我已经为这项工作添加了 spark ui,
所以我必须减少分区,增加执行者,任何想法
感谢您的帮助。
![spark ui 1][1] ![spark ui 2][2] ![spark ui 3][3] 10 小时后
状态:任务:7341/16936(16624 失败)
检查容器错误日志
RM Home
NodeManager
Tools
Failed while trying to construct the redirect url to the log server. Log Server url may not be configured
java.lang.Exception: Unknown container. Container either has not started or has already completed or doesn't belong to this node at all.
[50per 完成 ui 1 ][4][50per 完成 ui 2][5] [1]:https://i.stack.imgur.com/nqcys.png [2]:https://i.stack.imgur .com/S2vwL.png [3]: https://i.stack.imgur.com/81FUn.png [4]: https://i.stack.imgur.com/h5MTa.png [5]: https: //i.stack.imgur.com/yDfKF.png
解决方案
如果您可以提及您的集群配置,那将会很有帮助。
但是由于您添加了 1000 个小表的广播正在工作,但 100,000 可能不是您需要调整内存配置。
根据您的配置,我假设您有总 :15 * 7 = 105GB
内存。
你可以试试--num-executors 7 --executor-memory 15
这将为每个执行程序提供更多内存来保存广播变量。请--executor-cores
相应调整以正确使用
推荐阅读
- azure - 图表用户中的用户主体名称与邮件
- javascript - JavaScript - 接受字符串和索引(数字)并返回该索引处的字符的函数
- javascript - HTML 选秀/跳棋游戏
- php - 处理奇怪格式的csv文件
- javascript - Javascript后台事件处理循环
- c++ - Visual Studio 2019 窗口中的控制台问题
- mysql - 如何在一对多关系的连接子句中构造数据
- javascript - 脚本继续前的确认模式
- powerbi - Azure 数据工厂如何访问自定义数据连接器
- flowground - Flowground REST-API:流属性状态和 current_status 之间的区别