EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

Spark 3.1.1版本运行10T大数据集时,偶现OneForOneBlockFetcher相关错误的解决方法

问题现象描述

在Spark 3.1.1版本中,大数据集是10TB数据集,如果spark.network.timeout设置过小,可能会导致Shuffle过程中Fetch数据超时触发OneForOneBlockFetcher相关错误以及数据结果可能不一致。

关键过程、根本原因分析

10TB数据集下,spark.network.timeout默认为120s,在Shuffle阶段数据Fetch出现异常比如超时会重新Fetch,在这个阶段,因为数据的blockid错乱导致Fetch的数据错乱,从而可能概率性出现数据不一致问题,这是Spark社区代码问题(这是Spark社区代码的Bug,由https://github.com/apache/spark/pull/31643修复)。

结论、解决方案及效果

考虑将spark.network.timeout调大避免Fetch数据超时,推荐设为600,可解决本例中问题。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词