我有几个Spark作业,它们将数据写入S3并从中读取数据。偶尔(大约每周一次大约3个小时),Spark作业将失败,但有以下异常:
org.apache.spark.sql.AnalysisException: Path does not exist.
我发现这可能是由于S3中的一致性模型,其中列表操作最终是一致的。S3 Guard声称要解决这个问题,但我在Spark环境中不支持该实用程序。
有没有其他人遇到这个问题,并想出一个合理的方法来处理它?
如果您使用的是AWS EMR,它们可提供一致的EMR。
如果您使用的是Databricks:它们在事务IO中提供了一致性机制
HDP和CDH都附带S3Guard
如果您正在运行自己的自制saprk堆栈,请转到Hadoop 2.9+以获得S3Guard,甚至更好:Hadoop 3.1用于零重命名S3A提交器。
否则:不要使用S3作为工作的直接目的地。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。