首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花_temporary创建原因

火花_temporary创建原因
EN

Stack Overflow用户
提问于 2017-10-23 05:47:48
回答 1查看 7.6K关注 0票数 8

为什么在将结果保存到文件系统时,将结果文件上传到_temporary目录,然后将其移动到输出文件夹,而不是直接将其上传到输出文件夹?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-23 11:13:09

在处理文件系统时,两阶段处理是确保最终结果一致性的最简单方法。

您必须记住,每个executor线程独立于其他线程写入其结果集,并且可以在不同的时间执行,甚至可以重用相同的资源集。在写的时候,火花无法确定是否所有的写都会成功。

  • 如果失败,可以通过删除临时目录来回滚更改。
  • 如果成功,可以通过移动临时目录来提交更改。

该模型的另一个好处是在写入过程和最终输出之间有明显的区别。因此,它可以很容易地集成到简单的工作流管理工具中,而无需单独的状态存储或其他同步机制。

该模型简单、可靠,适用于所设计的文件系统。不幸的是,它对不支持移动的对象存储没有那么好的性能。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46882683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档