【发布时间】:2019-11-03 11:40:40
【问题描述】:
我已经看到,当我们使用 MR、Spark 或 Tez 作为执行引擎编写大数据作业时,作业是幂等的。
作业首先将数据写入临时目录,即“.hivestaging...”或“_temporary”
然后,FileOutputCommitter 使用以下标准将数据合并到其最终目的地:
- 如果目标位置已有目录,则将其丢弃。
- 目录从临时位置移动到目标位置。
我的问题是为什么我们说作业是幂等的,要么成功要么失败?会不会有一些数据被移到垃圾箱,作业无法将文件从临时目录移动到目的地,从而导致作业失败和数据丢失的情况?
【问题讨论】:
标签: apache-spark mapreduce bigdata apache-tez