为什么火花在将结果保存到文件系统的同时,将结果文件上传到_temporary目录,然后将它们移动到输出文件夹而不是直接将它们上传到输出文件夹?
use*_*411 12
在处理文件系统时,两阶段过程是确保最终结果一致性的最简单方法.
您必须记住,每个执行程序线程独立于其他线程写入其结果集,并且可以在不同的时刻执行写入操作,甚至可以重用相同的资源集.在写入时,Spark无法确定所有写入是否都会成功.
该模型的另一个好处是明确区分正在进行的写入和最终输出.因此,它可以轻松地与简单的工作流管理工具集成,而无需具有单独的状态存储或其他同步机制.
该模型简单,可靠,适用于已设计的文件系统.不幸的是,对于不支持移动的对象存储,它不能很好地执行.
| 归档时间: |
|
| 查看次数: |
2494 次 |
| 最近记录: |