最近,我一直在调整一些大型的重型工作的表现。看着火花UI,我注意到一个名为" Shuffle Read Blocked Time"在附加指标部分下。
此"随机读取阻止时间"对于大量任务来说,似乎占任务持续时间的50%以上。
虽然我可以直觉了解这意味着什么,但我找不到任何解释它实际代表内容的文档。毋庸置疑,我也无法找到缓解策略的任何资源。
任何人都可以提供一些有关如何减少随机读取阻止时间的见解吗?
答案 0 :(得分:2)
“随机读取阻止时间”是指任务停止等待从远程计算机读取随机数据的时间。它所提供的确切指标是shuffleReadMetrics.fetchWaitTime。
很难在没有真正了解您尝试阅读的数据或您正在阅读的远程机器类型的情况下为策略提供输入以进行缓解。但是,请考虑以下事项:
关于指标,本文档应该对它们有所了解:https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-webui-StagePage.html
最后,我也发现很难找到关于随机读取阻止时间的信息,但是如果你在谷歌搜索中输入如“Shuffle Read Blocked Time”这样的引号,你会发现一些不错的结果。